题解 | 数组分组

数组分组

https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86

num = int(input())
arr5 = []
arr3 =[]
arrqita=[]
arr = list(map(int ,input().split()))

def f(arrqita,cha):
    if  len(arrqita) == 0 :

        if  cha ==0:
            return True
        else:
            return False
    else:
        return f(arrqita[1:],arrqita[0] +cha) or f(arrqita[1:],cha -arrqita[0] )

    

for i in arr:
    if i % 5 == 0 :
        arr5.append(i)
    elif i % 3 ==0:
        arr3.append(i)
    else:
        arrqita.append(i)
arr5_sum= sum(arr5)
arr3_sum= sum(arr3)
cha =arr5_sum - arr3_sum
# print(len(arrqita),cha)
if f(arrqita,cha):
    print("true")
else:
    print('false')
递归最重要的是搞清楚终止条件

全部评论

相关推荐

后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
点赞 评论 收藏
分享
豆泥🍀:同26届,加油,我也还没找到查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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