Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

精选笔试机试题Java PDF 下载


分享到:
时间:2024-07-19 12:02来源:http://www.java1234.com 作者:转载  侵权举报
精选笔试机试题Java
失效链接处理
精选笔试机试题Java  PDF 下载

 
 
相关截图:
 
主要内容:
 
 
1. 不同的子序列(动态规划)
 
1 // 从下至上
2 class Solution {
3 public int numDistinct(String s, String t) {
4 if(s.length()<t.length()){
5 return 0;
6 }
7 // dp[i][j] 表示是 t[j:] 作为 s[i:] 子序列的个数
8 int[][] dp = new int[s.length()+1][t.length()+1];
9 for(int i = 0;i<dp.length;i++){
10 dp[i][t.length()] = 1;
11 }
12 for(int i = s.length()-1;i>=0;i--){
13 char ch = s.charAt(i);
14 for(int j = t.length()-1;j>=0;j--){
15 if(ch == t.charAt(j)){
16 // 记录 s[i] 与 t[j] 匹配与不匹配时,所有子序列次数
17 dp[i][j] = dp[i+1][j+1] + dp[i+1][j];
18 }else{
19 // 记录 s[i] 与 t[j] 不匹配时,所有子序列次数
20 dp[i][j] = dp[i+1][j];
21 }
22 }
23 }
24 return dp[0][0];
25
26 }
27 }

 


 


------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐