雙指針和codetop2
- 1.雙指針
- 1.[復寫0](https://leetcode.cn/problems/duplicate-zeros/)
- 2.動態規劃
- 1.[珠寶的最高價值](https://leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof/description/)
- 2.[解碼方法](https://leetcode.cn/problems/decode-ways/)
- 3.[下降路徑最小和](https://leetcode.cn/problems/minimum-falling-path-sum/description/)
- 4.[最小路徑和](https://leetcode.cn/problems/minimum-path-sum/)
- 3.最短路問題
- 1.[迷宮中離入口最近的出口](https://leetcode.cn/problems/nearest-exit-from-entrance-in-maze/)
1.雙指針
1.復寫0
2.動態規劃
1.珠寶的最高價值
//動態規劃一般錯誤都發生在下表映射
2.解碼方法
// //dp[i]表示以i位置為結尾的解碼總數
//s[i]和s[i-1],s[i]可以單獨解碼,也可以和s[i-1]結合后解碼所以s[i]單獨解碼時dp[i]=dp[i-1]
//和s[i-1]結合解碼的時候dp[i]=dp[i-2]
//dp[i]=dp[i-1]+dp[i-2];
3.下降路徑最小和
//填表的時候要把之前的表全部圍起來初始化dp
4.最小路徑和
//初始化要保證不影響最后的值//要先全填成無窮大,只有影響dp[1][1]兩個地方填成0;
3.最短路問題
//一般用隊列,和一個標記數組,隊列里存放開頭,看這個值能通向哪另外幾個地方,然后讓這個開頭出隊列,讓它一步能到達的那幾個地方入隊列(就是一層一層往外擴),直到走到終點,然后看誰先走到終點,誰就是最短的,
//bool數組用來標記走過的地方