2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1
再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2
这样下去可以最终只剩一个数字
比如 :
3 1 2 4
4 3 6
7 9
16
现在如果知道N,和最后的数字sum,反推最原始的序列是什么
如果有多个答案,返回字典序最小的那个
字典序看做所有数字拼起来的字符串字典序
比如
1, 10, 2... 拼起来是 1102...
1, 2, 3, 4... 拼起来是 1234...
认为 1, 10, 2...的字典序更小
如果给定的n和sum,有答案,返回一个N长度的答案数组
如果给定的n和sum,无答案,返回一个1长度的数组{ -1 }
输入 : N = 4, sum = 16
输出 : 3 1 2 4
输入 : N = 10, sum = 4116
输出 : 1 3 5 7 10 9 8 6 4 2
答案见文章,全网同名。
相似问题