例如有乙個多維陣列:
array
(array
(array(1
,3,4
),array
(array(1
,2,3
))),array
(array(1
,2),array(1
)))
這個陣列的深度就是5.那麼如何快速的確定乙個陣列深度.
初始方法
<?
phpfunction
countdim
($array
)else
return
$return;}
$array
=array
(array
(array
(array
("5"
,"6"
),"7"
,"8"
)),array
(array
(array
("5"
,"6"
),"7"
,"8"
)),"9"
,"10"
,array
("11"
),array
());
echo countdim
($array
);?>
優化版方法
<?
phpfunction
array_depth
($array)}
}return
$max_depth;}
$array
=array
(array
("11"
),array
(),array
(array
(array
("5"
,"6"
),"7"
,"8"
)),array
(array
(array
("5"
,"6"
),"7"
,"8"
)),"9"
,"10"
);echo array_depth
($array
);?>
KMP next陣列的求法
kmp 演算法的next陣列求法 void getnext char ptn,int next next j 更新自己的值。如果 1 j ptn i ptn j 這個條件成立,此時可以計算next i 1 的值為j 1。我看看這個過程 當i 6進入while迴圈之前,j next 6 當i 6進入w...
逆序對的求法(樹狀陣列)
設a 1.n 是乙個包含n個不同數的陣列,如果在ia j 則 i,j 就稱為a中的乙個逆序對。求法有兩種,一種是歸併排序,一種是樹狀陣列。二者的時間複雜度都是o n logn 但樹狀陣列更加好寫。思路 開乙個樹狀陣列a記錄每乙個數出現的次數。倒序輸入,每輸入乙個數num就在a中加1,同時求一下從0到...
深度解析PHP陣列函式array chunk
array chunk是php中的乙個陣列分割函式,是將乙個陣列分割為多個陣列塊 我們可以把它理解賣豆腐的商人把一整塊大豆腐切割為乙個乙個的小塊來進行售賣 這個函式需要三個引數 被切割的陣列 必需 被切割為多少塊 必需 是否保留原陣列索引關係true,flase預設為flase 可選 注意 被切割後...