欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

牛客真题(1)彩色的砖块

程序员文章站 2022-04-02 18:50:01
...

网易一道真题,问输入一串字符,最多只能有一对不同字母相邻,求输入的字符串有多少种排列方式。

分析:
既然最多只有一对,那么输入的字符串中只能最多有两个不同字母。出现一个字母的时候只有一种方式,出现两个字母的时候有两种方式,出现超过或等于三种的输出为0。可以通过一个set容器存放输入的字母种类,然后判断容器大小。

问题:
1、set容器的使用,长度为s.size();
2、字符串的输入为:getline(cin,s),长度为:s.length();

附上C++代码:

#include<iostream>
#include<set>
#include<string>
using namespace std;

int main()
{
    string s;
    getline(cin, s);
    set<char> good;
    for (int i = 0; i < s.length(); i++)
        good.insert(s[i]);
    if (good.size() <= 2)
        cout<< good.size();
    else
        cout << 0 << endl;
    return 0;  
}

python实现代码:

s=list(input())
l=len(set(s))
if l>2:
    print(0)
else:
    print(l)
相关标签: 牛客