flash – 查找数组中的所有系列
发布时间:2020-12-15 07:29:45 所属栏目:百科 来源:网络整理
导读:如何查找所有序列的数量(具有至少3个连续值的数组的组合,如[7,8,9])并且具有最长的值? 从[3,4,1,2,2]它将是2 – ([1,3,4]两次,但忽略[1,3] * 2和[2,4] * 2 ) 来自[9,6,7,5,8]它将是1 – ([5,9]) 从[1,2]它将是4([1,3] * 3) 谢谢 编辑 这一点就是计算婴儿手
如何查找所有序列的数量(具有至少3个连续值的数组的组合,如[7,8,9])并且具有最长的值?
从[3,4,1,2,2]它将是2 – ([1,3,4]两次,但忽略[1,3] * 2和[2,4] * 2 ) 来自[9,6,7,5,8]它将是1 – ([5,9]) 从[1,2]它将是4([1,3] * 3) 谢谢 编辑 这一点就是计算婴儿手中的跑步数.只要计数的系列不与所有卡重叠,数组具有该系列的顺序无关紧要. 编辑1 var $cards:Array = [9,2]; var $ranks:Array = []; var $c:int; for each ($c in $cards) { if ($ranks[$c] == null) { $ranks[$c] = 1; }else { $ranks[$c] ++; } } 这将创建一个具有这些值[2:2,3:1,4:1,9:1]的数组($rank) 从这里我将能够乘以2,3 ad4 4下的值并将它们乘以3,所以我得到2 * 1 * 1 * 3 我现在想弄清楚如何找到连续值,并忽略那些不连续的值(如9) 解决方法
您想要订购您的值并用自己的数组替换所有重复项.即.
//Order values and group matches [3,2] = [1,[2,2],4] [9,8] = [5,9] [1,2] = [[1,1],3] 然后,您将需要找到最大的连续序列并删除违规. //remove violations (6,8)... which I guess you also want to count separately. [1,8] = [1,4] 然后,将所有数组的长度乘以找到您的分数. 清理阵列后,您可以考虑这样的公式. array2 = [2,2]; array1 = [1,array2,4]; score = array1.length * array2.length = 8; array3 = [3,3]; array2 = [2,array3,4]; score = array1.length * array2.length * array3.length = 24; 理解如何在代码中编写它应该很有趣. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |