Longest Increasing Subsequence
来源:互联网 发布:淘宝代充可靠吗 编辑:程序博客网 时间:2024/06/14 11:10
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.
解决方法:利用动态规划来做,设dp[ i ]为以nums[ i ]为尾的LIS的长度,初始化dp[ i ]=0.
则 dp[ i ]=max{ dp[ j ] | nums[ j ]<nums[ i ], 0<=j<i }+1.
复杂度为O(n*n).
具体代码为:
class Solution {public: int lengthOfLIS(vector<int>& nums) { int n=nums.size(); int *dp=new int[n]; int i,j,result=1; if(n==0){ return 0; } for(i=0;i<n;i++){ dp[i]=0; } for(i=0;i<n;i++){ for(j=0;j<i;j++){ if((nums[j]<nums[i])&&(dp[j]>dp[i])){ dp[i]=dp[j]; } } dp[i]++; if(dp[i]>result){ result=dp[i]; } } delete []dp; return result; }};
阅读全文
0 0
- Longest Increasing Subsequence
- 【DP】 Longest Increasing Subsequence
- Longest Increasing Subsequence(LIS)
- Longest Increasing Subsequence
- 【算法】Longest Increasing Subsequence
- Longest Increasing Subsequence
- Longest Increasing Subsequence
- Longest Increasing Subsequence
- Longest Increasing Subsequence
- Longest Increasing Subsequence(LIS)
- Longest Increasing Subsequence
- [DP]Longest Increasing Subsequence
- The Longest increasing subsequence
- [刷题]Longest Increasing Subsequence
- longest-increasing-subsequence
- Longest Increasing Subsequence
- codeforces568E.Longest Increasing Subsequence
- Longest Increasing Subsequence
- spring boot mybatis打印sql
- Nginx实现虚拟主机 练习总结2017-6-20
- Glide类似You cannot start a load for a destroyed activity异常简单分析
- 51 WebGL切换着色器
- java异常捕获的一点感悟
- Longest Increasing Subsequence
- openwrt 免密码登陆到其他系统
- Spark+scala+Idea wordcount 示例
- HOSTS
- OC基础-Objective-c 入门01
- 记一个html问题
- Java在特定区间产生随机数
- hadoop
- CC3200 TCP socket编程