ホームページ  >  記事  >  バックエンド開発  >  アルゴリズムの難しい問題に遭遇し、解決しました

アルゴリズムの難しい問題に遭遇し、解決しました

WBOY
WBOYオリジナル
2016-06-23 13:58:45937ブラウズ

> 1.2

[3] => 2
[6] => 2.1.1

[ 8] => 4

)

ごめんなさい、意味が分かりませんでした。 …。 。 …。 …………。 …。 。 …。 …。 。 …。 …。 …。 ………


$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
)

回答していただきありがとうございます。 、ご意見を教えていただけますか、ありがとうございます

ごめんなさい、意味が分かりませんでした。 …。 。 …。 …………。 …。 。 …。 …。 。 …。 …。 …。 ………

この質問は実際にはディレクトリの配置の問題です

$a = array(1,2,2,3,1,2,3,1) で、優先順位によってタイトルの表示が決まることがわかります。 ,1 ); ノードが配置されているレベルを表します
$st = array(1 => 0); は各レイヤーの現在のシリアル番号を格納します
$d は現在のレベルを表します

モデレータさん、ご説明ありがとうございます、慎重に勉強します、先にポイントを送ります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。