在水平线上放置N个框,每个框上都写有一个正整数。找出可以通过选择框子集而形成的最大和,但是框子集不能有任何共同数字。
我尝试了下面的代码,并且工作正常,并且得到了预期的结果。但是,当我提交此代码时,所有测试用例均未通过。如果我在这里缺少东西,我正在寻求帮助吗?我已经复制了上面的确切问题。
input_list = [121, 23, 3, 333, 4]
input_list.sort(reverse=True)
print input_list
temp_list1 = []
max_sum = 0
for i in input_list:
num = i
flag = 'Y'
temp_list2 = []
x = -1
y = -1
while x != 0:
x = i / 10
y = i % 10
i = x
if y in temp_list1:
flag = 'N'
break
else:
temp_list2.append(y)
if flag == 'Y':
temp_list1 = temp_list1 + temp_list2
max_sum = max_sum + num
print max_sum
预期输入:- 121 23 3 333 4
预期输出:- 458