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

相关推荐

牛客网
牛客企业服务