PHP 串聯珠子問題

2021-09-06 06:19:52 字數 846 閱讀 2867

1

<?php2#

串連珠子問題(類似於關鍵字搜尋)34

function shortest_sub($a, $m

) 14

15$h = 0; #

頭指標16

$t = 0; #

尾指標17

$loop = true;18

while ($loop

) else

2728

#找到了所有顏色,縮減當前子串

29if ($sum == $m

) else

4243

#更新最短子串資訊

44if ($clen

< $blen

) 48

49$sum--; #

減少當前子串出現的顏色總數50}

5152

$color[$a[$h]]--; #

減少當前子串的當前顏色出現次數

53$h++;

5455

if ($h == count($a)) 58}

59}6061

$t++;

6263

#當t到達陣列尾部時,重新回到陣列頭

64if ($t == count($a)) $t = 0;65}

6667

return

array("start" => $bstart, "len" => $blen

);68}69

70$a = array(4, 5, 5, 1, 2, 3);

71$t = shortest_sub($a, 5);

72print_r($t

);73 ?>

解題筆記(29) 珠子問題

問題描述 一串首尾相連的珠子 n個 有n種顏色 n 10 設計乙個演算法,取出其中一段,要求包含所有n種顏色,並使長度最短。並分析時間複雜度與空間複雜度。思路 可以利用一種計數的方法。定義兩個指標p1和p2,主要有三個步驟 1 p1向前移動,如果p1所指的珠子顏色編號為 i 則增加 i 的出現次數。...

電容串聯併聯的問題

電容器併聯時,相當於電極的面積加大,電容量也就加大了。併聯時的總容量為各電容量之和 c並 c1 c2 c3 順便說說電容器的串聯。若三個電容器串聯後外加電壓為u,則u u1 u2 u3 q1 c1 q2 c2 q3 c3,而電荷q1 q2 q3 q,所以q c串 1 c1 1 c2 1 c3 q 1...

小公尺藍芽耳機不能自動串聯問題

針對問題 小公尺藍芽耳機沒辦法串聯 弄了好久才弄好 解決方案一 對單個耳機操作 左耳 長按耳機到關機,長按開機,會聽見響三下 或者紅白交替閃3下 按住不放,又會聽見響三下 或者看見紅白交替閃3下 放入盒子拿出來就自動配對了。右耳 同理 訣竅 分別對單個耳機長時間按住不放就對了 我就是這麼解決的 解決...