ProfaneAria 最近的时间轴更新
ProfaneAria

ProfaneAria

V2EX 第 336327 号会员,加入于 2018-07-26 19:35:06 +08:00
ProfaneAria 最近回复了
2018-08-10 20:11:05 +08:00
回复了 eluotao 创建的主题 PHP PHP 数组元素->组合算法排列题,求算法解决?
递归处理,思路如下(例子就用 1-5,3 位)
第一次( 1 位数时的可能值)
$list = [1, 2, 3, 4, 5]
第二次( 2 位数时的可能值,在 1 位数的基础上处理)
分别取$list 中的值加上 1~5,1~5 具体位置并不影响最后加值
1 -> 2, 3, 4, 5, 6
2 -> 3, 4, 5, 6, 7
3 -> 4, 5, 6, 7, 8
....
做个并集
最后$list = [2, 3, 4, 5, 6, 7, 8, 9, 10]
第三次依次
最后$list = [3, 4, 5 , 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]


可能说的不够清楚。原理其实很简单,最后统计加值的时候其实和数字具体在哪个位置无关,所以可以按位数依次加上所有可能的值进行扩展,知道扩展到你想要的位数位置。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6037 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 02:02 · PVG 10:02 · LAX 18:02 · JFK 21:02
Developed with CodeLauncher
♥ Do have faith in what you're doing.