300. Longest Increasing Subsequence
来源:互联网 发布:数据库中的索引是什么 编辑:程序博客网 时间:2024/05/21 11:36
Given an unsorted array of integers, find the length of longest increasing subsequence.
For example,
Given [10, 9, 2, 5, 3, 7, 101, 18],
The longest increasing subsequence is [2, 3, 7, 101], therefore the length is 4. Note that there may be more than one LIS combination, it is only necessary for you to return the length.
Your algorithm should run in O(n2) complexity.
Follow up: Could you improve it to O(n log n) time complexity?
第二遍 还是没做出来 。。。
倒是很快看明白了 知道应该用dp 就想一下 dp存什么 后面的能继续使用
难点还在于 递推表达式不好想 应该是
dp[i]=max(dp[j])+1,∀0≤j<i
LISlength=max(dp[i]),∀0≤i<n
10 9 2 5 3 4 7
怎样是2,3,4 而不是2,5 也就是怎样让3能接上2?
遍历3之前所有可以接上的
public int lengthOfLIS(int[] nums) { if (nums.length == 0) { return 0; } int[] dp = new int[nums.length]; dp[0] = 1; int maxans = 1; for (int i = 1; i < dp.length; i++) { int maxval = 0; for (int j = 0; j < i; j++) { if (nums[i] > nums[j]) {//找出所有将nums[i]加入仍然是递增序列的序列 maxval = Math.max(maxval, dp[j]);//选择长度最大的那个 拼接上nums[i] 这样 就还是最长的子序列 } } dp[i] = maxval + 1; maxans = Math.max(maxans, dp[i]); } return maxans; }
//也就是说 从dp[i]是指可以将nums[i]加入之后仍然是递增子序列中 长度最大的那个 dp[0]到dp[n]分别代表把dp[i]包含进来 最长的递增子序列 然后取最长的长度就可以了
阅读全文
0 0
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 模拟远程温度监控系统(包含程序)
- C#学习总结(1)——与java的几个区别
- 数据结构实验5(从文件中读取数据)
- C语言中位运算异或“∧”的作用
- mt6750 battery_common.c阅读笔记1
- 300. Longest Increasing Subsequence
- LoRa关键参数 1、扩频因子(SF) 2、编码率(CR) 3、信号带宽(BW) 4、LoRa信号带宽BW、符号速率Rs和数据速率DR的关系 5、
- Linux修改文件夹权限命令chmod(转载)
- 高通(Qualcomm)LK源码深度分析
- maven本地配置及pom.xml配置解决未指定jdk版本错误
- 三种Fibonacci数列第n项计算方法及其优劣分析
- 中图分类号和UDC查询
- Android 界面跳转问题:开发实现连续跳转几个界面后在最后一个界面完美跳回最初的界面
- 当Python列表遇上复合赋值运算符+=
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
沭阳招聘
沭阳二手房
沭阳论坛
江苏沭阳
沭阳邮编
沭阳市
沭阳瑞声
花香沭阳
沭阳徐小七
花乡沭阳网
沭阳花木节
沭阳高铁
沭阳花木
沭阳吧招聘
沭阳房产
沭阳到徐州
沭阳人口
沭阳到南京
沭阳特产
南京到沭阳
沭阳在哪里
沭阳火车站
沭阳中学
沭阳在线
沭阳论坛吧
沭阳在哪
沭阳租房
沭阳步行街
沭阳房产吧
沭阳网
沭阳养猪场
沭阳箱包厂
沭阳站
沭阳造纸厂
沭阳乐之地
沭阳蛋糕房
沭阳农商行
沭阳到淮安
沭阳相亲会
沭阳招聘会
沭阳皮草城