我们将binarray定义为满足以下属性的数组:
- 它不是空的
- 第一个值是
1
- 最后一个值是
1
- 所有其他值是
0
或1
例如,数组[ 1, 1, 0, 1 ]
是有效的binarray。
任务
给定一个非负整数的非空数组A和一个正整数N的非空数组,您的工作是找到一个长度为N的二进制数组 B,该数组允许通过将不受限制的B个副本的数量相加,再乘以不受限制的B个数量,来生成A。职位。
例
A = [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ]
N = 4
对于此输入,binarray B = [ 1, 1, 0, 1 ]
将是一个有效的答案,因为我们可以这样做:
[ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
-----------------------------------------------
= [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ]
规则
- 输入可以采用任何合理的格式。
- 输出可以是本机数组(例如
[1, 1, 0, 1]
)或带或不带分隔符的二进制字符串(例如"1,1,0,1"
或"1101"
) - 您只需要打印或返回一个有效的binarray。或者,您可以选择在存在多个解决方案时打印或退回所有这些解决方案。
- 您不需要支持不会导致任何解决方案的输入。
- 该和可以包括不与B的任何副本重叠的隐式零。上述总和中的第二个零就是这样的隐式零。
- 您可以假设A的最大大小为100,B的最大大小为30。
- 这是代码高尔夫球,因此最短的答案以字节为单位。禁止出现标准漏洞。
测试用例
Input : N = 1 / A = [ 1, 2, 3, 4, 5 ]
Output: [ 1 ]
Input : N = 2 / A = [ 1, 2, 100, 99 ]
Output: [ 1, 1 ]
Input : N = 3 / A = [ 1, 1, 1 ]
Output: [ 1, 1, 1 ]
Input : N = 3 / A = [ 1, 1, 3, 2, 2 ]
Output: [ 1, 1, 1 ]
Input : N = 3 / A = [ 1, 0, 2, 1, 1, 1, 0, 0, 1, 0, 1 ]
Output: [ 1, 0, 1 ]
Input : N = 4 / A = [ 1, 2, 2, 2, 1 ]
Output: [ 1, 1, 1, 1 ]
Input : N = 4 / A = [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ]
Output: [ 1, 1, 0, 1 ]
Input : N = 4 / A = [ 1, 1, 0, 2, 1, 0, 1 ]
Output: [ 1, 0, 0, 1 ] or [ 1, 1, 0, 1 ]
Input : N = 5 / A = [ 1, 3, 6, 9, 8, 6, 3, 4 ]
Output: [ 1, 1, 1, 0, 1 ]
Input : N = 8 / A = [ 2, 1, 0, 2, 3, 3, 1, 2, 1 ]
Output: [ 1, 0, 0, 1, 1, 1, 0, 1 ]
Input : N = 10 / A = [ 1, 2, 1, 2, 2, 1, 3, 3, 3, 2, 3, 0, 2, 1, 1, 0, 1 ]
Output: [ 1, 1, 0, 1, 0, 1, 1, 1, 0, 1 ]
Input : N = 13 / A = [ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1 ]
Output: [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ]
Input : N = 5 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 1, 1, 1, 1 ]
Input : N = 6 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 0, 0, 0, 0, 1 ]
Input : N = 7 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 1, 0, 0, 0, 1, 1 ]
Input : N = 9 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 0, 1, 0, 1, 0, 1, 0, 1 ]
N=4, A = [ 1, 1, 2, 4, 1, 2, 2, 2, 1, 2, 2, 1, 2, 0, 1 ]
,你会得到30459这是双方11和13,但只有一个整除[ 1, 1, 0, 1 ]
和[ 1, 0, 1, 1 ]
是一个有效的答案。
N
应该合理地支持其中最大的价值是什么?