LeetCode 300. Longest Increasing Subsequence 解题报告
2016-02-16 19:35
453 查看
300. Longest Increasing Subsequence
My SubmissionsQuestion
Total Accepted: 17302 Total
Submissions: 51952 Difficulty: Medium
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?
Credits:
Special thanks to @pbrother for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Show Tags
Have you met this question in a real interview?
Yes
No
Discuss
十分典型的DP问题!
定义一个f函数,f(i)表示以第一个元素为结尾的最长递增子序列的长度。要求f(i),那么得先求出f(0),f(1)......f(n-1)。
我的AC代码如下:
public class LongestIncreasingSubsequence { public static void main(String[] args) { int[] a = { 10, 9, 2, 5, 3, 7, 101, 18 }; System.out.println(lengthOfLIS(a)); } public static int lengthOfLIS(int[] nums) { if(nums.length == 0) return 0; int[] f = new int[nums.length]; for (int i = 0; i < f.length; i++) { f[i] = 1; } int max = 1; for (int i = 1; i < nums.length; i++) { for (int j = 0; j < i; j++) { if (nums[i] > nums[j] && f[j] + 1 > f[i]) { f[i] = f[j] + 1; if (f[i] > max) max = f[i]; } } } return max; } }
相关文章推荐
- Codeforces Round #127 (Div. 1) B. Guess That Car! 扫描线
- IQueryable & IEnumberable 区别
- HDU 1509 Windows Message Queue(优先队列)
- pcie posted/non-posted request
- poj2926Requirements (曼哈顿距离)
- 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
- 《转》UIView的剖析!
- 【四】注入框架RoboGuice使用:(Your First System Service Injection)
- iOS CAShapeLayer和UIBezierPath绘图
- InnovEDA PowerPCB/BGA Suite 4.0.1 + InnovEDA Visual HDL V6.7.8 for Verlog
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- 十大滤波算法程序大全(Arduino精编无错版)
- String path = request.getContextPath();获取应用的上下文路径。
- log4j lazyguid
- log4j lazyguid
- extjs中的ComponentQuery方法
- 【乐意黎原创】Sublime Text 3 build 3103 license 四个供研究使用
- 安卓UI设计实例教程打包
- poj 2524 Ubiquitous Religions
- 8VC Venture Cup 2016 -A - Robot Sequence/B - Cards