全部评论
最后一道题是求字符串中某个子序列出现的次数,感觉是用动态规划做的,可惜时间不够了,状态太差了。
来个第二题的题解
class Solution { public int numDistinct(String s, String t) { String lowerS = s.toLowerCase(); String lowerT = t.toLowerCase(); int m = lowerS.length(); int n = lowerT.length(); //dp[i][j]表示s.subString(0,i)与k.subString(0,j)的匹配结果 int[][] dp = new int[m+1][n +1]; for(int k = 0;k < m+1;k++){ dp[k][0] = 1; } for(int i = 1;i < m+1;i++){ char sChar = s.charAt(i-1); for(int j = 1; j< n+1; j++){ char tChar = t.charAt(j-1); if(sChar==tChar){ dp[i][j] = dp[i-1][j]+dp[i-1][j-1]; }else{ dp[i][j] = dp[i-1][j]; } } } return dp[m][n]; } }
相关推荐
11-21 13:08
蚌埠坦克学院 C++ 点赞 评论 收藏
分享