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

Java知识分享网

        
AI编程,程序员挑战年入30~100万高级指南 - 职业规划
SpringBoot+SpringSecurity+Vue权限系统高级实战课程        

IDEA永久激活

Java微信小程序电商实战课程(SpringBoot+VUe)

     

AI人工智能学习大礼包

     

PyCharm永久激活

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

     

Cursor+Claude AI编程 1天快速上手视频教程

     

精选笔试机试题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 }

 


 


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


锋哥推荐