如何找到所有系列的数量(具有至少 3 个连续值的数组组合,如 [7,8,9])并具有最长的值?
从 [3,4,1,2,2] 它将是 2 - ([1,2,3,4] 两次,但忽略 [1,2,3]*2 和 [2,3,4]*2 )
从 [9,6,7,5,8] 它将是 1 - ([5,6,7,8,9])
从 [1,2,3,1,2] 将是 4 ([1,2,3] * 3)
谢谢
编辑
这样做的目的是计算婴儿床手中的跑步次数。只要计数的系列不与所有卡片重叠,数组的系列顺序无关紧要。
编辑 1
var $cards:Array = [9, 4, 3, 2, 2];
var $ranks:Array = [];
var $c:int;
for each ($c in $cards) {
if ($ranks[$c] == null) {
$ranks[$c] = 1;
}else {
$ranks[$c] ++;
}
}
这将创建一个包含这些值的数组 ($ranks)[2:2, 3:1, 4:1, 9:1]
由此我将能够将 2,3 ad4 4 下的值相乘并将它们乘以 3,所以我会得到 2*1*1 * 3
我现在试图弄清楚如何找到连续的值,并忽略那些不是的(比如 9)