牛客真题(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)
上一篇: RxJava 2.x 入门