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]; } }
点赞 评论

相关推荐

01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享

牛客热帖

更多
牛客网
牛客企业服务