|
1
1
下面是brute force python解决方案,我们尝试在出现冲突时将元素修复到右侧或左侧:
|
|
|
2
1
第一种方法如果我正确地理解了您的问题,那么您的输入数组可能有一些区域,而这些区域不符合您的条件。例如:
或:
要解决这个问题,您必须添加(或减去)一些模式,如:
或:
第二种方法但我们目前的解决方案有一些问题。考虑一个有“立面”的坏区域:
在这种情况下,我们正确的“解决方案”是:
产生:
总而言之,你必须应用“补丁”:
(请注意
以及:
第三途径
前面提到的公式在某些情况下不起作用(比如
让我们试着改进一下:
以及:
(您也可以选择公式:
第四种方法长度均匀的不良区域也是一个威胁。我可以想出两种解决方法:
角盒也请考虑一些角点情况(坏区域开始或结束于数组的“边”):
以及:
最后提示我建议在执行过程中实现大量单元测试,以便容易地验证导出公式的正确性,并处理角组合的一些组合。 只有一个元素的坏区域可以是其中之一。 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
Geremia · 2D NumPy数组+1D数组? 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Paul Williams · 迭代数组时输出有问题 1 年前 |