本文主要是介绍C++ | Leetcode C++题解之第115题不同的子序列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
题解:
class Solution {
public:int numDistinct(string s, string t) {int m = s.length(), n = t.length();if (m < n) {return 0;}vector<vector<unsigned long long>> dp(m + 1, vector<unsigned long long>(n + 1));for (int i = 0; i <= m; i++) {dp[i][n] = 1;}for (int i = m - 1; i >= 0; i--) {char sChar = s.at(i);for (int j = n - 1; j >= 0; j--) {char tChar = t.at(j);if (sChar == tChar) {dp[i][j] = dp[i + 1][j + 1] + dp[i + 1][j];} else {dp[i][j] = dp[i + 1][j];}}}return dp[0][0];}
};
这篇关于C++ | Leetcode C++题解之第115题不同的子序列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!