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

LeetCode 300最长递增子序列 674最长连续递增序列 718最长重复子数组 | 代码随想录25期训练营day52

动态规划算法10

LeetCode 300 最长递增子序列 2023.12.15

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int lengthOfLIS(vector<int>& nums) {//创建变量result存储最终答案,设默认值为1int result = 1;//1确定dp数组,dp[i]表示以nums[i]为结尾的子数组的最长长度vector<int> dp(nums.size(), 1);//3初始化,所有元素默认的长度都为1,在创建时均已初始化//2确定递推公式,4确定遍历顺序//递推公式dp[i]表示以nums[i]为结尾的最长长度=max(以比nums[i]小的值结尾的最长长度+1(nums[i]),dp[i])//先正序遍历nums数组,然后可以正序或倒序遍历(0, i)更新dp[i]for (int i = 1; i < nums.size(); i++){for (int j = 0; j < i; j++){if(nums[j] < nums[i])dp[i] = max(dp[j] + 1, dp[i]);}//更新result值,为当前数组的递增序列最长长度if(result < dp[i])result = dp[i];}return result;
}

LeetCode 674 最长连续递增序列 2023.12.15

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int findLengthOfLCIS(vector<int>& nums) {//创建变量result存储最终答案,设默认值为1int result = 1;//1确定dp数组,dp[i]表示以nums[i]为结尾的连续递增子数组的最长长度vector<int> dp(nums.size(), 1);//3初始化,所有元素默认的长度都为1,在创建时均已初始化//2确定递推公式,4确定遍历顺序//递推公式dp[i]表示:如果nums[i-1]<nums[i],//那么以nums[i]为结尾的连续递增子数组最长长度=dp[i-1]+1for (int i = 1; i < nums.size(); i++){if(nums[i] > nums[i-1])dp[i] = dp[i-1] + 1;//更新result值,为当前数组的递增序列最长长度if(result < dp[i])result = dp[i];}return result;
}

LeetCode 718 最长重复子数组 2023.12.15

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int findLength(vector<int>& nums1, vector<int>& nums2) {//创建变量result存储最终答案,设默认值为1int result = 0;//1确定dp二维数组,dp[i][j]表示以nums1[i-1]、nums2[j-1]结尾的相同子数组的最大长度vector<vector<int>> dp(nums1.size()+1, vector<int>(nums2.size()+1, 0));//3初始化,第一行和第一列必须初始化,意义上为0//2确定递推公式,4确定遍历顺序//如果nums1[i-1]、nums2[j-1]相同,那么dp[i][j]+1//顺序遍历for (int i = 1; i <= nums1.size(); i++){for(int j = 1; j <= nums2.size(); j++){if(nums1[i-1] == nums2[j-1])dp[i][j] = dp[i-1][j-1] + 1;//更新相同数组长度最大值if(result < dp[i][j])result = dp[i][j];}}return result;
}

http://www.lryc.cn/news/261839.html

相关文章:

  • Improving IP Geolocation with Target-Centric IP Graph (Student Abstract)
  • 华为技面三轮面试题
  • Linux arm架构下构建Electron安装包
  • 【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分
  • 推免那些事
  • 华清远见嵌入式学习——QT——作业2
  • C# Winfrm 编写一个天气查看助手
  • 基于SpringBoot和微信小程序的农场信息管理系统
  • Linux统计网卡流量
  • 设计可编辑表格组件
  • 低代码是美食!!!
  • 计算机网络网络层(期末、考研)
  • LCR 120. 寻找文件副本
  • git切换分支
  • Android 在UploadEventService使用ThreadPoolManager线程管理传递数据给后台
  • 网络(十)ACL和NAT
  • JavaScript算法46- 最长连续序列(leetCode:128middle)
  • 提升 API 可靠性的五种方法
  • 【K8S 系列】认识k8s、k8s架构
  • 通过这5步,快速成为数据分析师
  • 深入解析 Spring 和 Spring Boot 的区别
  • Python日期范围按旬和整月以及剩余区间拆分
  • windows安装sqlserver2008后连接失败问题
  • mysql innodb知识记录
  • 在排序数组中查找元素的第一个和最后一个位置(Java详解)
  • k8s 安装firewalld导致的网络疑难问题处理
  • 人工智能中的巨兽:图神经网络大模型的崛起
  • 【LeetCode刷题笔记(6-2)】【Python】【三数之和】【双指针】【中等】
  • 02_Web开发基础之JavaScript
  • 如何控制Elasticsearch搜索的相关性?