![]() |
1
6
我建议你举几个例子写在纸上。仔细计算出当你试图用手工解决它们时你直觉上在做什么,然后把它们转换成代码。 您可能需要记录序列中已找到的值的数量,以及前一个值是什么。。。 |
![]() |
2
2
很抱歉更新太晚了,但时间很紧。。。。 这是我的最终解决方案,有所有必要的限制(为我的需要)丝光。 谢谢大家
|
![]() |
3
1
伪代码: 1-按升序对数组排序 2个-
|
![]() |
4
1
当然,这取决于你的问题是否总是局限于那个约束,我的意思是int[8]数组,0-31,和3-5,但是如果不是,我想你的问题不能用一个简单的算法来解决。 我是说,假设我们有这个数组:
以及你的子集约束,即。 “连续数字集的最小长度必须为3,最大长度为5” . 从第一个元素到最后一个元素并填充最大可能的连续子集的朴素算法将生成这两个子集:
在这个解决方案中,12不在任何分区中,但显然还有另一个可行的解决方案(实际上不止一个)包含所有数字,例如:
因此,您可以有几种可能性:
在第一种情况下,你可以像其他回答者指出的那样(嘿,伙计,乔恩·斯凯特回答了你!:P)。
这是我的两分钱,很明显,我再说一遍,如果你总是有相同的数组大小、范围和子集约束,这个问题就不存在了。 |
![]() |
5
0
1)将给定的数组拆分成连续的数字列表(您说数组已经排序) 2)添加到列表时,如果列表已经有5个元素添加到新列表 3)Count列表>2是您的结果 |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |