刚刚遇到一个棘手的算法问题,求解

栁罗风尘 2014-04-17 11:18:01

求解
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-04-17
  • 打赏
  • 举报
回复
$a = array(1,2,2,3,1,2,3,1,1); 表示的是节点所在的层次 $st = array(1 => 0); 存储每层当前的序号 $d 表示当前的层次
栁罗风尘 2014-04-17
  • 打赏
  • 举报
回复
引用 2 楼 luo19880415 的回复:
不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………
本题其实是一个目录编排的问题,你可以看到优先级决定着大小标题的显示
栁罗风尘 2014-04-17
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
$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 ( [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 )
版主,谢谢你的解答 ,如果可以的话,能不能讲讲你的思路呀,万分感谢
天涯过客009 2014-04-17
  • 打赏
  • 举报
回复
不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………
xuzuning 2014-04-17
  • 打赏
  • 举报
回复
$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 ( [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 )
栁罗风尘 2014-04-17
  • 打赏
  • 举报
回复
嗯嗯 谢谢版主的解释,我再好好研究研究,先把分送上

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧