LeetCode之Distinct Subsequences
2015-07-28 22:06
405 查看
/*动态规划法。 设dp[i][j]表示S[0...i]中T[0...j]出现的次数,则有 1)若S[i]!=S[j],dp[i][j] = dp[i-1][j]; 2)若S[i]==S[j],dp[i][j] = dp[i-1][j] + dp[i-1][j-1]。*/ class Solution { public: int numDistinct(string s, string t) { if(s.empty()) return 0; vector<int> dp(t.size(), 0); dp[0] = (s[0] == t[0] ? 1 : 0); for(int i = 1; i < s.size(); ++i){ for(int j = t.size()-1; j >= 0; --j){ if(j == 0 && s[i] == t[j]){ dp[j] += 1; continue; } if(s[i] == t[j]) dp[j] = dp[j] + dp[j-1]; } } return dp[t.size()-1]; } };
相关文章推荐
- UI005---延迟加载
- 用什么判断UITextField判断为空
- JAVA-GUI练习实例,QQ登录界面
- JAVA-GUI练习实例,QQ登录界面
- 第70讲:Scala界面GUI编程实战详解
- EasyUI ComboGrid的绑定,上下键和回车事件,输入条件查询
- Equivalent String
- hdu-1509 Windows Message Queue(优先队列)
- hdoj 1509 Windows Message Queue [STL 优先队列]
- 52. N-Queens II
- Equivalent Strings
- 【APUE】文件 I/O 操作
- 51. N-Queens
- IOS开发概述-08.UIWindow
- Equivalent Strings
- iOS 8中使用UIAlertController
- Android基础UI之创建新视图
- hdu 5301 Buildings
- OC--迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转化
- Windows Message Queue