Lintcode76 Longest Increasing Subsequence solution 题解
来源:互联网 发布:win7开软件盘 编辑:程序博客网 时间:2024/06/06 07:32
【题目描述】
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
- 为什么java函数不支持参数默认值?
- angular2
- 在列表中找出两个彼此最接近但不相等的数
- 使用Java实现最大堆
- 九、Docker-compose
- Lintcode76 Longest Increasing Subsequence solution 题解
- Okhttp网络请求post方式 加Json解析
- android studio gradle依赖解析
- SQL SERVER 2008 EXPRESS 安装注意事项
- maven 常用插件
- 老鼠走迷宫
- http://www.cnblogs.com/only-levis/p/7637285.html
- 模拟购物车demo
- CSDN--markdown编辑器语法(字体,字号与颜色)