>>> 兩個經典模板:
>>>
1. 回溯
>>>
2. 動態規劃找回文串
>>> 記住一句話:求的是路徑則用回溯,求的是路徑的長度則用動態規劃。
class
solution
for(
int j =
1; j < len; j++
)else}}
// 求最少分割次數(第二次動態規劃)
>>> 大數相乘經典模板。說幾個小細節幫助記憶:
>>>
1. 兩數其中乙個數為零,直接特判返回"0"
>>>
2. 長度為m和n的數字相乘,其長度最大為m*n
>>>
3. 沒有必要完全模擬乘法豎式,先乘高位也是可以的,且這樣遍歷陣列從下標0開始,比較優雅
>>>
4. 下標i和下標j的數字相乘,結果加到res的下標(i+j+
1),進製進到res的下標(i+j)
class
solution
int len1 = num1.
length()
;int len2 = num2.
length()
;int
res =
newint
[len1 + len2]
;// 模擬
for(
int i =
0; i < len1; i++)}
// 去字首0
stringbuilder sb =
newstringbuilder()
;for
(int i =
0; i < res.length; i++
) sb.
(res[i]);
}return sb.
tostring();}}
LeetCode Sama的個人記錄 2
q7 ez 整數反轉給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根...
LeetCode Sama的個人記錄 7
q31 md 下乙個排列 實現獲取下乙個排列的函式,演算法需要將給定數字序列重新排列成字典序中下乙個更大的排列。如果不存在下乙個更大的排列,則將數字重新排列成最小的排列 即公升序排列 必須原地修改,只允許使用額外常數空間。以下是一些例子 1,2,3 1,3,2 3,2,1 1,2,3 1,1,5 1...
LeetCode Sama的個人記錄 12
q1371 md 每個母音包含偶數次的最長字串 給你乙個字串 s 請你返回滿足以下條件的最長子字串的長度 每個母音字母,即 a e i o u 在子字串中都恰好出現了偶數次。示例 1 輸入 s eleetminicoworoep 輸出 13 解釋 最長子字串是 leetminicowor 它包含 e...