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

动态规划-最长子序列

300. 最长递增子序列

class Solution {public int lengthOfLIS(int[] nums) {int n  = nums.length;int[] dp = new int[n];for(int i = 0; i<n; i++){dp[i] = 1;}//dp[i]表示从0-i包括i以nums[i] 结尾的最长严格递增子序列长度// dp[i] = (dp[j] + 1 , dp[i]);int result = 0;for(int i = 0; i<n;i++){for(int j = 0; j<i; j++){if(nums[i] > nums[j]){dp[i] =Math.max(dp[j]+1, dp[i]);}}result = Math.max(result,dp[i]);}return result;}
}

674. 最长连续递增序列

class Solution {public int findLengthOfLCIS(int[] nums) {//dp[i] 表示以=nums[i] 结尾的最长连续递增子序列长度;int n = nums.length;int[] dp = new int[n];for(int i = 0; i<n; i++){dp[i] = 1;}int result = 1;for(int i = 1; i<n; i++){if(nums[i] > nums[i-1]){dp[i] = dp[i-1] + 1;}result = Math.max(result,dp[i]);}return result;}
}

class Solution {public int findLength(int[] nums1, int[] nums2) {//dp[i][j] 表示 nums1从0-i和nums2从0-j的公共的长度最长的子数组的长度int m = nums1.length;int n = nums2.length;int[][] dp = new int[m+1][n+1];int result = 0;for(int i = 1; i<=m; i++){for(int j = 1; j<=n; j++){if(nums1[i-1] == nums2[j-1] ){dp[i][j] = dp[i-1][j-1] + 1; }result = Math.max(result,dp[i][j]);}}return result;}
}
http://www.xdnf.cn/news/14023.html

相关文章:

  • 低熔点纤维市场深度解析:技术革新与产业应用前景
  • 英语写作核心词汇
  • NVIDIA Isaac GR00T N1.5 适用于 LeRobot SO-101 机械臂
  • Python中的函数和方法概要
  • 亚马逊运营中的流量破局与精细化运营路径
  • 【电路】-串并联的应用
  • 独家|阶跃星辰Tech Fellow段楠离职,任京东探索研究院视觉与多模态实验室负责人
  • 【doris】doris集成ranger控制权限,ranger配置无法存储doris密码password信息
  • 什么是分布式锁及分布式锁应用场景
  • GCC编译/连接/优化等选项
  • Solon框架模板漏洞深度剖析与修复实战
  • python格式化字符串的几种方式
  • mysql表备份数据,改表名
  • Ubuntu下使用PyTurboJPEG加速图像编解码
  • 【阿里巴巴 x 浙江大学】信息与交互设计 - 交互设计流程与要素
  • PDB Bank怎么下载小分子sdf(选择哪个)和复合物
  • Spring依赖注入的四种方式(面)
  • DC3靶机渗透
  • python计算生态库:18个常用标准库+第三方库
  • 杭州电商代运营公司排名前十
  • SPRING AI 入门
  • 前端八股文 - JavaScript 篇
  • UE接口通信常见问题
  • Ubuntu下搭建Black Magic Probe (BMP) 编译环境
  • AbMole| 2-Deoxy-D-glucose(M5140;2-脱氧-D-葡萄糖)
  • 第七章接入技术
  • opencv opencv_contrib vs2020 源码安装
  • 简述Python里面search和match的区别
  • ZooKeeper详解以及应用部署(AI)
  • Spring Cache 详细介绍——补充