(M)Dynamic Programming:300. Longest Increasing Subsequence
来源:互联网 发布:nodetype js 编辑:程序博客网 时间:2024/06/05 16:41
建一个一维dp,长度为n,dp[i]表示包含nums[i]这个数字的最长的递增子序列长度。这个长度怎么找,就是要遍历nums[i]之前的这些数字,如果nums[j]<nums[i],说明nums[i]可以和他构成递增子序列,和他构成递增子序列可以有dp[j]+1这么长,遍历nums[i]之前所有比nums[i]小的数字,取最长的那个,就是nums[i]包含这个数字的最长递增子序列长度。
class Solution {public: int lengthOfLIS(vector<int>& nums) { int n = nums.size(); if(n == 0) return 0; vector<int> dp(n, 1); int res = 1; for(int i = 1; i < n; ++i) { for(int j = i - 1; j >= 0; --j) { if(nums[j] < nums[i]) { dp[i] = max(dp[i], dp[j] + 1); } } res = max(res, dp[i]); } return res; }};
阅读全文
0 0
- (M)Dynamic Programming:300. Longest Increasing Subsequence
- (M)Dynamic Programming:673. Number of Longest Increasing Subsequence
- week12- Dynamic Programming-NO.300. Longest Increasing Subsequence
- Dynamic Programming 之 Longest Increasing Subsequence 问题
- (M)Dynamic Programming:516. Longest Palindromic Subsequence
- Dynamic Programming之Longest Increasing Subsequence (LIS)问题
- Dynamic Programming之Longest Increasing Subsequence (LIS)问题
- LeetCode---300. Longest Increasing Subsequence (M)
- Longest Common Subsequence: Dynamic Programming
- Dynamic Programming--Longest Common Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 300. Longest Increasing Subsequence
- 设计模式-简单工厂模式
- Codeforces Gym F. Performance Review (树状数组 + DFS 序)
- emmm小游戏 Construct
- 【阈值优化+背包】51Nod1597[有限背包计数问题]题解
- erlang无图形界面的linux下如何使用observer:start(). --- ★firecat推荐★
- (M)Dynamic Programming:300. Longest Increasing Subsequence
- Java高并发秒杀API(四)之高并发优化
- 硬件电路设计基础:三极管(2)
- JS 中给easyui一列添加按钮
- bat文件和sh文件
- 数据结构——顺序表最大子段和动态规划法
- 逻辑思维小demo
- HDOJ2072 单词数
- cin详解