[LeetCode] Interleaving String
生活随笔
收集整理的這篇文章主要介紹了
[LeetCode] Interleaving String
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 是一個很明顯的動態規劃題。
2. s3中的每個字符不是s1中的就是s2中的,只要根據它之前的狀態做轉移就可以。
1 class Solution { 2 public: 3 bool isInterleave(string s1, string s2, string s3) { 4 int n = s1.size(); 5 int m = s2.size(); 6 if (n + m != s3.size()) return false; 7 vector<vector<int>> f(n+1, vector<int>(m+1)); 8 for (int i = 0; i <= n; i++) { 9 for (int j = 0; j <= m; j++) { 10 int idx = i + j - 1; 11 if (i == 0 && j == 0) { 12 f[i][j] = 1; 13 } else { 14 if (i && s1[i-1] == s3[idx]) f[i][j] |= f[i-1][j]; 15 if (j && s2[j-1] == s3[idx]) f[i][j] |= f[i][j-1]; 16 } 17 } 18 } 19 return f[n][m]; 20 } 21 };?
轉載于:https://www.cnblogs.com/zeeroo32/p/6493281.html
總結
以上是生活随笔為你收集整理的[LeetCode] Interleaving String的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kie-api介绍和使用
- 下一篇: Celery框架简单实例