我希望能够检查字符串中的字符是否组合在一起。
被分组的定义:不在其集群以外的其他地方重复。在“AABBBBACDDD”中,它没有分组,因为最后一个“A”不在它的集群中(第一组 A)。
字符不必按字母顺序排列。
例如:
AAABBBBBCCC
→ 分组
AABBBBACDDD
→未分组
肯定涉及一个循环,但我不知道检查它是否为组的条件
这听起来比 C++ 更像是一个算法问题。所以算法将是这样的,(伪代码)。您可以为此编写 C++ 代码(如果您愿意,我可以帮助您):
function is_grouped(str):
seen_letters = {} # set of seen letters so far
last_letter = None
for c in str:
if last_letter == c: # if it is the same letter as before continue
continue
if last_letter != c && c in seen_letters: # seen before and a new cluster
return false
seen_letters.add(c) # new unsee cluster
last_letter = c
return true
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句