当前位置:   article > 正文

C++ | Leetcode C++题解之第115题不同的子序列

C++ | Leetcode C++题解之第115题不同的子序列

题目:

题解:

  1. class Solution {
  2. public:
  3. int numDistinct(string s, string t) {
  4. int m = s.length(), n = t.length();
  5. if (m < n) {
  6. return 0;
  7. }
  8. vector<vector<unsigned long long>> dp(m + 1, vector<unsigned long long>(n + 1));
  9. for (int i = 0; i <= m; i++) {
  10. dp[i][n] = 1;
  11. }
  12. for (int i = m - 1; i >= 0; i--) {
  13. char sChar = s.at(i);
  14. for (int j = n - 1; j >= 0; j--) {
  15. char tChar = t.at(j);
  16. if (sChar == tChar) {
  17. dp[i][j] = dp[i + 1][j + 1] + dp[i + 1][j];
  18. } else {
  19. dp[i][j] = dp[i + 1][j];
  20. }
  21. }
  22. }
  23. return dp[0][0];
  24. }
  25. };
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/687088
推荐阅读
相关标签
  

闽ICP备14008679号