题目:    有一个数组,要是相邻的两个数加起来是10的倍数,那么可以删掉这两个数,后面的数会顶上来       求:    最多可以删除多少个数字     n = int(input())lis = list(map(int,input().strip().split()))global m  #全局变量,统计迭代次数m = 0def fun(num, ind):  #消消乐,消除到不能消为止    global m    if (num[ind] + num[ind + 1]) % 10 == 0:        num.pop(ind)        num.pop(ind)        m += 1        ind -= 1        if ind >= 0:            fun(num, ind)        else:            return    else:        returnp = Falsex = 0while True:    k = len(lis)    if k <= 1:        break    for i in range(x, k - 1):        if (lis[i] + lis[i + 1]) % 10 == 0:            x = i #定位下一次遍历开始的位置            p = True            fun(lis, i)            x -= m            m = 0            break    if not p:        break    p = Falseprint(n - len(lis))        通过率90%,最后提示 if (num[ind] + num[ind + 1]) % 10 == 0: 这一句indexerror,检查了30分钟也没找出来问题是啥,求路过的大佬帮忙看看
点赞 2
评论 5
全部评论

相关推荐

07-18 14:03
门头沟学院 Java
点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务