def distinct(numbers, numlen, n):
if n >= numlen:
return 0
value = numbers[n]
found = False
if value != '0' and value != 0:
for i in range(n):
#是否和之前的相同
if value == numbers[i]:
found = True
break
else:
found = True
n += 1
m = distinct(numbers, numlen, n)
if found:
return m
else:
return m + 1
if __name__ == '__main__':
arr=[
[1,0,0,1],
[0,1,0,1],
[1,0,0,1],
[1,1,0,1],
[0,1,1,1],
[1,2,'0',2],
['0',2,1,2],
[1,2,3,3],
[1,'0',3,2],
[1,0,3,2,3]
]
errcount = 0;
for i in range (1):
count = distinct(arr[i], 4, 0)
if count != arr[i][4]:
errcount = errcount + 1
print("the result is not excepted: return=", count, " exception=", arr[i][4], ",i=", i)
if errcount == 0:
print("OK")
最后
以上就是朴实日记本最近收集整理的关于如何用递归的方式实现去重和去零的全部内容,更多相关如何用递归内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复