递归 | HJ93 数组分组
# 最优解
def dfs(three, five, other):
if not other:
if sum(three) == sum(five):
return True
else:
return False
if dfs(three+other[:1], five, other[1:]):
return True
if dfs(three, five+other[:1], other[1:]):
return True
while True:
try:
n, nums = int(input()), list(map(int, input().split()))
three, five, other = [], [], []
for num in nums:
if num % 3 == 0:
three.append(num)
elif num % 5 == 0:
five.append(num)
else:
other.append(num)
if dfs(three, five, other):
print ('true')
else:
print ('false')
except:
break
华为笔试刷题 文章被收录于专栏
高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107
360集团公司福利 405人发布