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

太原网站建设价格低网站建设维护协议

太原网站建设价格低,网站建设维护协议,六安品牌网站建设电话,如何做网站漂浮广告目录 题目描述 解法1:动态规划 代码实现 题目链接 题目描述 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例…

目录

题目描述

解法1:动态规划

代码实现


题目链接

题目描述

给你一个整数数组 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

示例 3:

  • 输入:nums = [7,7,7,7,7,7,7]

  • 输出:1

提示:

  • 1 <= nums.length <= 2500

  • -10^4 <= nums[i] <= 104

解法1:动态规划

这里我们可以使用dp数组,dp[i]表示了以数组nums[i]结尾的递增子序列。

  1. dp[i]的定义

dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度,包括了自身,所以dp[0] = 1

为什么一定表示 “以nums[i]结尾的最长递增子序” ,因为我们在 做 递增比较的时候,如果比较 nums[j] 和 nums[i] 的大小,那么两个递增子序列一定分别以nums[j]为结尾 和 nums[i]为结尾, 要不然这个比较就没有意义了,不是尾部元素的比较那么 如何算递增呢。

  1. 状态转移方程

位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 + 1 的最大值。

所以:if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1);

注意这里不是要dp[i] 与 dp[j] + 1进行比较,而是我们要取dp[j] + 1的最大值

  1. dp[i]的初始化

每一个i,对应的dp[i](即最长递增子序列)起始大小至少都是1.

  1. 确定遍历顺序

dp[i] 是有0到i-1各个位置的最长递增子序列 推导而来,那么遍历i一定是从前向后遍历。

j其实就是遍历0到i-1,那么是从前到后,还是从后到前遍历都无所谓,只要吧 0 到 i-1 的元素都遍历了就行了。 所以默认习惯 从前向后遍历。

遍历i的循环在外层,遍历j则在内层,代码如下:

for (int i = 1; i < nums.size(); i++) {for (int j = 0; j < i; j++) {if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1);}if (dp[i] > result) result = dp[i]; // 取长的子序列
}

代码实现
public class L300 {public int lengthOfLIS(int[] nums) {int len = nums.length;if (len == 1) return 1;int[] dp = new int[len];dp[0] = 1;for (int i = 1; i < len; i++) {for (int j = 0; j < i; j++) {if (nums[i]>nums[j]) {dp[i] = Math.max(dp[i], dp[j]);}}dp[i]++;}
​return dp[len-1];}
}

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

相关文章:

  • 网站建设 全网推广什么网站可以做棋谱
  • 做一个商务平台网站的费用鹿泉手机网站建设
  • 温州网站制作wordpress 密码
  • 广西智能网站建设企业怎么建个人网站
  • 有什么做网兼的网站山东建设厅官方网站一级建造师
  • 东营企业网站建设自己做网站花钱么
  • 北京怀柔网站制作思创医惠网站建设
  • 做英语翻译兼职的网站网站高端设计公司
  • 淘宝客网站建设公司wordpress 安卓教程
  • 合肥网站开发公司电话卖东西怎么推广
  • 做网站常见程序成都快速建站公司
  • 漳州网站建设公司深圳建设手机网站
  • 松江网站建设哪家好农业网站如何建设
  • 安康优质网站建设方案推广渠道包括哪些
  • 建一个在线商城网站中山网站建设案例
  • qt 网站开发莱芜营销型网站制作
  • 网站可以增加关键词吗信用公示信息系统(全国)
  • 做yahoo代拍网站公司wordpress橱窗推广代码放在哪里
  • 公司建网站的步骤为网站营销好处
  • 如何把自己做的网站放到网上做淘宝客网站挣钱
  • 抖音代运营公司介绍辽宁网站优化
  • 手机网站关闭窗口代码学生做网站的软件
  • 什么网站做的好flashfxp链接网站
  • 旅游网站案例哪些域名商可以自助wordpress
  • 做deal网站腾讯如何做网站
  • 杭州高端网站制作网页版式设计案例
  • 省住房城乡建设厅网站南京制作网站公司
  • 淄博网络公司做网站的电话桂林公司做网站
  • 网站页面统计代码东莞个人网站建设
  • seo网站推广实例wordpress实现轮播图