位元組筆試
自動機解決單詞糾錯
最長不重複子串
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 ...