Heim > Artikel > Backend-Entwicklung > 刚刚遇到一个棘手的算法问题,求解
求解
$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) { @$st[$v]++; if($v >= $d) { $d = $v; }else{ while($v < $d) { unset($st[$d--]); } } $r[] = join('.', $st);}print_r($r);Array
不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………
$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) { @$st[$v]++; if($v >= $d) { $d = $v; }else{ while($v < $d) { unset($st[$d--]); } } $r[] = join('.', $st);}print_r($r);Array
不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………
$a = array(1,2,2,3,1,2,3,1,1); 表示的是节点所在的层次
$st = array(1 => 0); 存储每层当前的序号
$d 表示当前的层次
嗯嗯 谢谢版主的解释,我再好好研究研究,先把分送上