标签:style blog color io for ar div log
A classic and representative DP problem. To be revised later. Quite a few interesting details to think about.
class Solution { public: int numDistinct(string S, string T) { int lenS = S.length(); int lenT = T.length(); if (lenS < lenT) return 0; if (lenS == lenT) { if (S.compare(T) == 0) return 1; else return 0; } vector<int> dp(lenT + 1, 0); dp[0] = 1; // Point 1 // S: i, T: j // if S[i-1] == T[j - 1] // dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1] // else // dp[i][j] = dp[i - 1][j] for (int i = 1; i <= lenS; i ++) for (int j = lenT; j >= 1; j--) // Point 2 { if(i < j) continue; if (S[i - 1] == T[j - 1]) dp[j] += dp[j - 1]; // Point 3 } return dp[lenT]; } };
LeetCode "Distinct Subsequences" - TO BE REVISED,布布扣,bubuko.com
LeetCode "Distinct Subsequences" - TO BE REVISED
标签:style blog color io for ar div log
原文地址:http://www.cnblogs.com/tonix/p/3926771.html