3
计算构成唯一集合的数组
这个问题具有类似的设置,以找到适合一组和的数组,尽管其目标完全不同。 考虑一个A长度数组n。该数组仅包含正整数。例如A = (1,1,2,2)。让我们将定义f(A)为的所有非空连续子数组之和的集合A。在这种情况下f(A) = {1,2,3,4,5,6}。产生步骤f(A) 如下: 的子阵列A是(1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2)。它们各自的总和为1,1,2,2,2,3,4,4,5,6。因此,您从此列表中获得的集合是{1,2,3,4,5,6}。 如果没有其他相同长度的数组,则我们将数组称为A 唯一数组,除了反向数组。作为示例,但是没有其他长度数组会产生相同的和集。Bf(A) = f(B)Af((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}3 我们将仅考虑元素为给定整数s或的数组s+1。例如,如果s=1数组仅包含1和2。 任务 任务,对于给定n和s是计算该长度的独特阵列的数量。您可以假设s介于1和之间9。 您不应该算数组的倒数以及数组本身。 例子 s = 1答案永远是n+1。 s = 2,从n = 1上往下数的答案是: 2,3,6,10,20,32,52,86 s = 8,从n = 1上往下数的答案是: 2,3,6,10,20,36,68,130 得分了 对于给定n的代码,您的代码应输出s从1到的所有值的答案9。您的分数是n在一分钟内完成的最高分。 测试中 我将需要在ubuntu机器上运行您的代码,因此请尽可能详细地说明如何编译和运行您的代码。 排行榜 …