V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ProfaneAria  ›  全部回复第 1 页 / 共 1 页
回复总数  1
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   ·   实用小工具   ·   1008 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 19:44 · PVG 03:44 · LAX 11:44 · JFK 14:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.