Lintcode76 Longest Increasing Subsequence solution 题解
来源:互联网 发布:倩碧淘宝旗舰店 编辑:程序博客网 时间:2024/06/18 11:04
【题目描述】
Given a sequence of integers, find the longest increasing subsequence (LIS).
You code should return the length of the LIS.
给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。
【说明】:最长上升子序列的定义:
最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的。
https://en.wikipedia.org/wiki/Longest_increasing_subsequence
【题目链接】
www.lintcode.com/en/problem/longest-increasing-subsequence/
【题目解析】
可以使用二分查找法。可以先建立一个数组ends,把首元素放进去,然后比较之后的元素,如果遍历到的新元素比ends数组中的首元素小的话,替换首元素为此新元素,如果遍历到的新元素比ends数组中的末尾元素还大的话,将此新元素添加到ends数组末尾(注意不覆盖原末尾元素)。如果遍历到的新元素比ends数组首元素大,比尾元素小时,此时用二分查找法找到第一个不小于此新元素的位置,覆盖掉位置的原来的数字,以此类推直至遍历完整个nums数组,此时ends数组的长度就是要求的LIS的长度。
特别注意的是ends数组的值可能不是一个真实的LIS,比如若输入数组nums为{4, 2, 4, 5, 3,7},那么算完后的ends数组为{2, 3, 5, 7},可以发现它不是一个原数组的LIS,只是长度相等而已。
【参考答案】
www.jiuzhang.com/solutions/longest-increasing-subsequence/
- Lintcode76 Longest Increasing Subsequence solution 题解
- Lintcode76 Longest Increasing Subsequence solution 题解
- Lintcode76 Longest Increasing Subsequence solution 题解
- LeetCode 题解(283) : Longest Increasing Subsequence
- LeetCode 300. Longest Increasing Subsequence 题解
- LeetCode 题解(Week6):300. Longest Increasing Subsequence
- leetcode题解-300. Longest Increasing Subsequence
- Lintcode77 Longest Common Subsequence solution 题解
- Lintcode77 Longest Common Subsequence solution 题解
- Longest Increasing Subsequence Average time O(nlogk) Solution
- LeetCode题解:Longest Increasing Subsequence O(N^2解法)
- Longest Increasing Subsequence
- 【DP】 Longest Increasing Subsequence
- Longest Increasing Subsequence(LIS)
- Longest Increasing Subsequence
- 【算法】Longest Increasing Subsequence
- Longest Increasing Subsequence
- Longest Increasing Subsequence
- Graph(3)--图的遍历(深度优先&广度优先)
- 房屋中介费收取标准有?详细的房屋中介费收取标准。
- sql之left join、right join、inner join的区别
- Activity的任务栈Task以及启动模式与Intent的Flag详解
- JS 读取Excel文件(xls) 兼容Chrome/IE/Firefox
- Lintcode76 Longest Increasing Subsequence solution 题解
- JVM常量池和八种基本数据及字符串
- C解析字符串的存储,char *str和char str[]分析
- Disruptor入门
- 房屋中介费怎么收取才合理?快看看别再花冤枉钱了
- 欢迎使用CSDN-markdown编辑器
- java中的hibernate和Mybaties中注解的区别
- webstorm 2017.1 侧边栏字体大小设置
- RocketMQ实战(二)