小编RRR*_*RRR的帖子

使用递归计算列表中数字的出现次数

我正在做的任务是:

给定一组int,递归计算值11出现在数组中的次数.我们将使用仅考虑从给定索引开始的数组部分的约定.通过这种方式,递归调用可以传递索引+ 1以向下移动数组.

我需要递归地做这件事.我对此很陌生,但我在技术上使它成功了.我有以下内容:

def array11(arr, index, cnt=0, num=0):
    if(cnt==len(arr)-index):
        print("yay!!! number 11 appears %d times"%num)
        return
    elif(arr[index:][cnt]==11): 
        num+=1
        cnt+=1
        array11(arr,index,cnt,num)
    else: 
        cnt+=1
        array11(arr,index,cnt,num)
Run Code Online (Sandbox Code Playgroud)

但我觉得我通过添加默认值的"cnt"和"num"参数,出于某种原因便宜了.我只是不知道如何在没有计数器的情况下通过"arr"阵列!

所以这可以接受吗?你会以同样的方式做到吗?

提前致谢

python recursion

3
推荐指数
1
解决办法
89
查看次数

标签 统计

python ×1

recursion ×1