我正在学习算法/数据结构。为了提高我的知识,我试图解决一些网上的问题。 我要解决的一个问题是在practiceque给出的
我试过以下方法:
def count_zero_one_two():
s = '102100211'
s_len = len(s)
count = 0
for i in range (s_len-1):
j = i+1
k = j+1
#print i, j, k, count
#print s[i], s[j], s[k]
if k > (s_len-1):
print "end"
break
elif (s[i] != s[j]) and (s[i] !=s[k]) and (s[j] != s[k]):
print s[i], s[j], s[k]
print "not equal"
count = count+1
#print count
else:
print s[i], s[j], s[k]
print "equal"
k = j +i
print count
count_zero_one_two()
问题:如果我的输入字符串是“102100211”,那么count应该是5,但我得到的是4。有什么想法吗?
输出:
^{pr2}$我会这样解决:
^{} 用于检查所有3个字符(对于每个迭代)是否都在“012”中。在
内部
for
循环用于按长度3、6、9等顺序计算0、1和2的数目输出:
^{pr2}$相关问题 更多 >
编程相关推荐