当前位置: 首页 > news >正文

代码随想录35期Day54-Java

Day54题目

LeetCode392判断子序列

核心思想:公共子序列长度达到需要判断的字符串的长度,说明是子序列

class Solution {public boolean isSubsequence(String s, String t) {if("".equals(s)) return true;int[][] dp = new int[s.length()+1][t.length()+1];for(int i = 1 ; i <= s.length(); i ++){for(int j = 1 ; j <= t.length(); j ++){if(s.charAt(i-1) == t.charAt(j-1)){dp[i][j] = dp[i-1][j-1] + 1; }else{dp[i][j] = dp[i][j-1];}if(dp[i][j] >= s.length()) return true;}}return false;}
}

LeetCode115.不同的子序列

核心思想:dp[i][j] 表示s前i个字符中包含t前j个字符序列的个数

class Solution {public int numDistinct(String s, String t) {int[][] dp = new int[s.length()+1][t.length()+1];// 初始化i 0 为1 ,s为1个字符,t为空的时候,只要删除这个字符就能得到t,所以是1for(int i = 0 ; i <= s.length(); i ++) dp[i][0]=1;for(int i = 1 ; i <= s.length() ; i ++){for(int j = 1 ; j <= t.length(); j ++){// 相同的时候,是左上角和左边(不使用当前的s字符)的个数的和if(s.charAt(i-1) == t.charAt(j-1)){dp[i][j] = dp[i-1][j-1] + dp[i-1][j];}else{// 否则的话就是和不使用s 当前字符的数量一样多dp[i][j] = dp[i-1][j];}}}return dp[s.length()][t.length()];}
}
http://www.lryc.cn/news/357100.html

相关文章:

  • Ubuntu使用sudo命令
  • 三方语言中调用, Go Energy GUI编译的dll动态链接库CEF
  • Go微服务: Grpc服务注册在Consul的示例(非Go-Micro)
  • Java+Swing+Mysql实现飞机订票系统
  • 2024 rk
  • Java实现多张图片合并保存到pdf中
  • 揭秘智慧校园:可视化技术引领教育新篇章
  • 基础9 探索图形化编程的奥秘:从物联网到工业自动化
  • RPC-----RCF
  • StarRocks中,这些配置项是表属性的一部分
  • Activity->Activity生命周期
  • 乐鑫ESP串口驱动安装,安装cp210x驱动
  • Django缓存
  • Python 元组
  • JAVA面试题大全(十八)
  • 如何利用Firebase Hosting来托管网站
  • 揭秘“循环消费”模式:消费即收益,购物新体验
  • 图片怎样在线改像素大小?电脑快速修改图片大小的方法
  • SELINUX=enforcing时无法启动httpd服务的解决方案(semanage命令以及setroubleshoot-server插件的妙用)
  • 【C++】list的使用方法和模拟实现
  • 【物联网实战项目】STM32C8T6+esp8266/mqtt+dht11+onenet+uniapp
  • Pyhton 二叉树层级遍历
  • Flutter 中的 FadeTransition 小部件:全面指南
  • 缓存存储器:性能提升的关键
  • 『大模型笔记』工程师的LLMs简介!
  • Vue中的常用指令
  • 百度页面奔跑的白熊html、css
  • Day-02面向对象
  • Sentinel-2 哨兵二号数据介绍及下载
  • 阿里智能信息数据挖掘复盘