leetcode 300. Longest Increasing Subsequence
来源:互联网 发布:易娱网络待遇好吗 编辑:程序博客网 时间:2024/06/09 23:18
300. Longest Increasing Subsequence
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?
动态规划
状态 state[i]表示前i个数字中以第i个结尾的LIS的长度
初始化: 以每一位结尾都初始化为1
状态转移方程:state[i] = max(state[j] + 1),其中 j < i && num[j] <= num[i]
结果:max(state[i], i从0到n-1)
public class Solution { public int lengthOfLIS(int[] nums) { if (nums == null || nums.length == 0) { return 0; } int[] state = new int[nums.length]; int max = 0; for (int i = 0; i < nums.length; i++) { state[i] = 1; for (int j = 0; j < i; j++) { if (nums[i] > nums[j]) { state[i] = state[i] > state[j] + 1 ? state[i] : state[j] + 1; } } if (state[i] > max) { max = state[i]; } } return max; }}
阅读全文
1 0
- Leetcode-300.Longest Increasing Subsequence
- 300. Longest Increasing Subsequence LeetCode
- [leetcode] 300. Longest Increasing Subsequence
- leetcode 300. Longest Increasing Subsequence
- LeetCode *** 300. Longest Increasing Subsequence
- LeetCode 300. Longest Increasing Subsequence
- LeetCode-300.Longest Increasing Subsequence
- [leetcode] 300. Longest Increasing Subsequence
- leetcode 300. Longest Increasing Subsequence
- LeetCode 300. Longest Increasing Subsequence
- leetcode 300. Longest Increasing Subsequence
- [LeetCode]--300. Longest Increasing Subsequence
- [leetcode] 300. Longest Increasing Subsequence
- LeetCode 300. Longest Increasing Subsequence
- 【LeetCode】300. Longest Increasing Subsequence
- 【LeetCode】300. Longest Increasing Subsequence
- Leetcode 300. Longest Increasing Subsequence
- 【LeetCode】300. Longest Increasing Subsequence
- [Matlab]Matlab安装及破解(MATLAB 2016b)
- Java容器HashSet和LinkedHashSet源代码解析
- MySQL数据备份之mysqldump使用
- slub数据结构
- [CodeEdit--Sublime]用Sublime和Pandoc写markdown文档
- leetcode 300. Longest Increasing Subsequence
- 实现不同用户登录显示不同页面
- 基于 vue2 的响应式基础组件(滚动条)
- http网络请求 返回不同的statusCode(状态码)500,200,400等
- Socket Server-基于线程池的TCP服务器
- [Unity Graphics] 菲涅耳效应(The Fresnel Effect)
- 《UNIX网络编程 卷1》 笔记: 描述符传递技术
- java.lang.Object是如何成为默认父类的
- UISlider相关整理