我最近在招聘方面遇到了这个问题:
给出数组S的2 ^ N个整数(1 <= N <= 20,0 <= Si <= 10 ^ 9),它们表示数组A的子集和,我们需要按排序的顺序恢复数组A。>
例如S = {2,1,0,3} => A = {1,2},因为A的子集和为{0,1,2,1 + 2}
数组S中的数字顺序可能是随机的。
我该如何解决这个问题?预先感谢。
答案 0 :(得分:0)
您可以对包含子集和的数组进行排序 当您对子集和数组进行排序时 A i = S [2 ^ i ]-应该按排序顺序为您提供数组A的值。
您可以创建一个真值表以获取子集和并追溯 假设S是有效输入 例如:S = {0,5,3,8,1,6,4,9}
labelTimer