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

好用心 做网站送女友县建设局 协会网站

好用心 做网站送女友,县建设局 协会网站,短视频素材网,给企业做网站公司LeetCode 300. 最长递增子序列 题目描述 给定一个未排序的整数数组 nums,找出其中最长递增子序列的长度。 要求: 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&#xff0…

LeetCode 300. 最长递增子序列

题目描述

给定一个未排序的整数数组 nums,找出其中最长递增子序列的长度。

要求:

  • 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。
  • 例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列

示例 1:

输入: nums = [10,9,2,5,3,7,101,18]
输出: 4
解释: 最长递增子序列为 [2,3,7,101],因此长度为 4。

示例 2:

输入: nums = [0,1,0,3,2,3]
输出: 4
解释: 最长递增子序列为 [0,1,2,3] 或 [0,1,3] 或 [0,3,2,3],长度均为 4。

示例 3:

输入: nums = [7,7,7,7,7]
输出: 1
解释: 最长递增子序列为 [7],长度为 1。

Java 实现代码

class Solution {public int lengthOfLIS(int[] nums) {if (nums.length == 0)return 0;int[] dp = new int[nums.length];int maxLength = 1;Arrays.fill(dp, 1);for (int i = 1; i < nums.length; i++) {for (int j = 0; j < i; j++) {if (nums[i] > nums[j]) {dp[i] = Math.max(dp[i], dp[j] + 1);}}maxLength = Math.max(maxLength, dp[i]);}return maxLength;}
}

解题思路

  1. 边界条件处理

    • 如果输入数组 nums 为空,直接返回长度为 0。
  2. 初始化

    • 创建一个长度与 nums 相同的数组 dp,用于存储到每个位置为止的最长递增子序列的长度。
    • 使用 Arrays.fill(dp, 1)dp 数组的所有元素初始化为 1,因为每个元素自身可以看作是一个长度为 1 的递增子序列。
  3. 动态规划过程

    • 外层循环遍历数组 nums 的每个元素,从第二个元素开始(索引 1)。
    • 内层循环遍历当前元素之前的所有元素(索引 0 到 i-1)。
    • 如果当前元素 nums[i] 大于之前的某个元素 nums[j],则说明可以通过添加 nums[i] 来扩展以 nums[j] 结尾的递增子序列。
    • 更新 dp[i]dp[j] + 1,表示以 nums[i] 结尾的递增子序列的长度。
    • 同时,更新 maxLengthdp[i] 和当前 maxLength 的最大值,以记录遍历过程中找到的最长递增子序列的长度。
  4. 返回结果

    • 遍历完成后,maxLength 存储的就是整个数组的最长递增子序列的长度。

复杂度分析

  • 时间复杂度:O(n^2),其中 n 是数组 nums 的长度。这是因为有两层循环,外层循环 n 次,内层循环在最坏情况下也是 n 次。
  • 空间复杂度:O(n),需要一个大小为 n 的数组 dp 来存储中间结果。

注:题目来源leetcode网站

http://www.yayakq.cn/news/58844/

相关文章:

  • 做公司集团网站响应式网页设计软件
  • 四川微信网站建设推拖拽式网站建设源码
  • 安徽中色十二冶金建设有限公司网站国家商标注册查询官网入口
  • 免费学校网站模板htmlwordpress 汉化失败
  • 昆明网站建设哪家强怎么建设vip电影网站
  • 安全联盟网站认证常州网络公司联系方式
  • 做网站,用什么做数据库最好济南专业网站优化
  • 郑州网站外包哪家好餐饮客户管理系统
  • 分类信息网站如何做排名微信商城怎么做
  • 周口师范做网站wordpress 主题显示
  • 哪些公司需要网站开发工程师购物网站建设过程视频
  • 做网站手机端不做PC可以吗网站的功能与建设方案
  • 网页模板哪个网站可以下载wordpress hello dolly
  • 免费推广网站都有哪些iis8搭建网站
  • 南宁网站建公司电话号码wdcp上传网站
  • 42区 网站开发指南出口网站建设方案
  • 网站建设 英文怎么说公司名称大全及最新
  • 重庆市工信部网站网站开发技术视频教程
  • 成都有哪些网站建设的公司logo设计在线生成免费图片加文字
  • 维护网站成本宣传册排版设计与制作
  • 微信做购物网站抽多少佣公司网站建设模块
  • 网站的seo优化怎么做阳江兼职招聘网
  • 义乌市评建设职称网站鄂州网站建设与设计
  • 龙岩网站定制成都大型商城网站建设
  • 怎样做网站关键词推广平台有哪几个
  • 下载别人网站的asp房地产行业发展前景分析
  • 建设彩票网站需要哪些要求天眼查网站
  • 闵行交大附近网站建设重庆最火的网站
  • 企业做网站设置哪些模块校园活动策划案的范文
  • 网站建设指南 读书心得百度明星人气榜排名