我有一个list =[15,3,12,9,8,7]和一个k=18。按反向列表排序= 15,12,9,,8,7,3
我想要在arr1[]中附加列表的第一个值,即15,在arr2[]中附加列表的第二个值,即12,并从列表中删除这些值
然后我们在列表中有9,,8,7,3,所以我想在arr1中附加k-sum(arr1)的最接近值,在arr2中附加k-sum(arr2)的最接近值
所以数组变成了[15,3] and [12,7],我们将这样做,直到n。
3.我不知道如何接近,请帮助我,提前谢谢
发布于 2021-01-03 15:36:07
试试这个:
def find_ind_arr(arr):
dif = k-sum(arr)
tmp_lst = [abs(i-dif) for i in lst]
return tmp_lst.index(min(tmp_lst))
lst = [15,12,9,8,7,3]
arr1 = [lst.pop(0)]
arr2 = [lst.pop(0)]
while lst:
arr1.append(lst.pop(find_ind_arr(arr1)))
arr2.append(lst.pop(find_ind_arr(arr2)))
print(arr1, arr2)https://stackoverflow.com/questions/65547476
复制相似问题