我的演算法筆記2

2021-10-09 00:19:03 字數 1360 閱讀 7300

位元組筆試

自動機解決單詞糾錯

最長不重複子串

abacd 結果為4

重複 s++

不重複 e++

s指標和e指標,cursum表示當前子陣列

result是子陣列長度,start是視窗的左端,cursum是當前區間和,for()

if(result>i-start+1) result=i-start+1 //當前結果大於滑動視窗的長度,更新結果

}滑動視窗演算法小結

滑動視窗模板

初始化視窗端點l,r,一般l為0,r為1

初始化最優值

while r <

len(array)

:while r <

len(array)

: r +=

1 #移動右端點

if r <

len(array)

: 更新狀態

if 狀態滿足條件:

可選的更新最優值的位置

break #一旦滿足條件即跳出

if r ==

len(array)

: # 若迴圈是由於移動到陣列末尾結束,則停止整個程式。因為之後已經不再有可能的解

break

while l < r:

更新狀態 # 移動左端點,需要更新狀態

l +=

1if 狀態滿足條件:

可選的更新最優值的位置

else: # 一旦視窗所在區間不再滿足條件即跳出,去移動右端點

break

可選的對於l,r端點的後續處理

return 最優值

二分法模板

static

intbinarysearch

(int

nums,

int target)

return-1

;}

動態規劃模板

1. 定義狀態方程 t dp[x]  t是要求的最終的結果,x是題目中現有的變數/轉換問題產生的變數

t dp[x]

for(i)

for(j)

dp[i]

[j]=dp[i]

[j]||dp[i]

[j-i]

dp解題步驟模板

經典例題

雙指標:【快慢指標(又叫滑動視窗)+雙端指標】

我的c 筆記 2

1.普通引用繫結到const物件是非法的,如 const int i 1024 int r i 錯誤。應為const int r i 2.const引用可以初始化為不同型別的物件或者初始化為右值,如字面值常量 int i 42 const int r 42 const int r2 r 1 同樣的初...

我的python學習筆記2

在工作裡,有乙個檔案裡的漢字是多餘的,由於資料量很大 幾千甚至上萬 行資料,並且不一定每行都有漢字,所以想到了用python處理剔除行內漢字。由於資料是每行用逗號 分隔的,且漢字只會出現在固定的位置,所以就想到了用csv標準模組處理。由於csv.reader讀取到的結果是乙個list,然後再提出漢字...

我的mysql學習筆記2

1 基礎的模式匹配可以用like 和 not like 運算子,另外模糊匹配用 和 其中 可以匹配任意的單字元,可以匹配任何數量的字元。select from from pet where name like b 表示匹配name中首字母為b的。select from pet where name ...