我正在寻找一些指导与下列代码请。我正在学习Python,我来自Java和C,在那里我还是个初学者。我想写一个函数,返回出现奇数次的数字。假设数组总是大于1,并且总是只有一个整数出现奇数次。我想使用递归。你知道吗
当我存储结果时,函数不会返回值,因为我得到了一个NoneType。请,我不是在寻找一个解决方案,但一些建议,在哪里寻找和如何思考时调试。你知道吗
def find_it(seq):
seqSort = seq
seqSort.sort()
def recurfinder(arg,start,end):
seqSort = arg
start = 0
end = seqSort.length()-1
for i in range(start,end):
counter = 1
pos = 0
if seqSort[i+1] == seqSort[i]:
counter+=1
pos = counter -1
else:
if(counter % 2 == 0):
recurfinder(seqSort, pos+1, end)
else:
return seqSort[i]
return -1
实际上,您需要从
recurFinder
之外的某个地方调用recurFinder
来启动程序。你知道吗这个答案使用递归和
dict
进行快速计数器查找-它是这样工作的-
上面的
i
和d
在调用站点公开。另外,因为我们依赖于Python的默认参数,所以我们必须调用d.copy()
,以避免发生d
突变。使用内部loop
可以缓解这两个问题-工作原理同上。你知道吗
相关问题 更多 >
编程相关推荐