刚刚遇到一个棘手的算法问题,求解
求解
------解决方案--------------------
$a = array(1,2,2,3,1,2,3,1,1);<br />$st = array(1 => 0);<br />$d = 1;<br />foreach($a as $v) {<br /> @$st[$v]++;<br /> if($v >= $d) {<br /> $d = $v;<br /> }else{<br /> while($v < $d) {<br /> unset($st[$d--]);<br /> }<br /> }<br /> $r[] = join('.', $st);<br />}<br />print_r($r);
Array
(
[0] => 1
[1] => 1.1
[2] => 1.2
[3] => 1.2.1
[4] => 2
[5] => 2.1
[6] => 2.1.1
[7] => 3
[8] => 4
)
------解决方案--------------------不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………
------解决方案--------------------$a = array(1,2,2,3,1,2,3,1,1); 表示的是节点所在的层次
$st = array(1 => 0); 存储每层当前的序号
$d 表示当前的层次
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn