给定一个无序的整数数组,找到其中最长上升子序列的长度。

示例:

输入: [10,9,2,5,3,7,101,18]
输出: 4 
解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。
说明:

可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。
你算法的时间复杂度应该为 O(n2) 。
进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?

 解法一:动态规划,看一下应该就能懂了

class Solution {
public:int lengthOfLIS(vector<int>& nums) {int n=nums.size();if(n==0)return 0;int* dp = new int[n];dp[0] = 1;for(int i=1;i<n;++i){int maxval = 0;for(int j=0;j<i;++j){if(nums[i]>nums[j]){maxval = max(maxval,dp[j]);}}dp[i] = maxval+1;}int result = 0;for(int i=0;i<n;++i){if(dp[i]>result)result = dp[i];}return result;}
};

最长上升子序列—leetcode300相关推荐

  1. leetcode-300 最长上升子序列

    题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度 ...

  2. Leetcode300. Longest Increasing Subsequence最长上升子序列

    给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4. 说 ...

  3. leetcode300. 最长递增子序列

    一:题目 二:上码 class Solution {public:/**思路:1.分析题意:我们在求取答案的过程中;我们的结果是动态的; 如果从某个数有一个递增序列 但是在这个数的后面又有一个数又可以 ...

  4. Leetcode--300. 最长上升子序列

    给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4  解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4. ...

  5. 最长递增子序列的两种解法

    以LeetCode-300为例: O(n^2)解法: dp数组表示以i结尾的最长递增子序列的长度 class Solution { public:int lengthOfLIS(vector<i ...

  6. 最长上升子序列(LIS) nlogn解法

    文章目录 经典DP解法O(n^2) dp+二分法(O(nlogn)) 最长上升子序列LIS:Longest increasing subsequence 题目链接:Leetcode300. 最长递增子 ...

  7. c语言最长递增子序列nlogn,十月常见算法考题、最长递增子序列,Leetcode第300题最长上升子...

    十月常见算法考题.最长递增子序列,Leetcode第300题最长上升子 十月常见算法考题.最长递增子序列,Leetcode第300题最长上升子序列的变种,我没见过乔丹,今天詹姆斯就是我的神! @Aut ...

  8. 十月常见算法考题、最长递增子序列,Leetcode第300题最长上升子序列的变种,我没见过乔丹,今天詹姆斯就是我的神!

    @Author:Runsen @Date:2020/10/12 十月过得很平缓.在这个"收获的季节",我成了为数不多不必收获的人.每天睡到中午,即使闹钟设在早上也很难把自己弄醒. ...

  9. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...

    问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...

最新文章

  1. vue 实现动态增加输入框_vue实现一个6个输入框的验证码输入组件
  2. [系统安全] 九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御
  3. SharePoint PowerShell 批量删除遗弃视图
  4. Typescript 下 Mongoose 外键类型外键数组类型定义类型保护联合类型理解
  5. expdp,impdp实现oracle备份及导入(一)
  6. ETL第一篇(Kettle Spoon) 初遇
  7. BZOJ2716[Violet] 天使玩偶/SJY摆棋子
  8. 在SOUI里使用真窗口时使用SOUI的滚动条
  9. 黑马python入门笔记(部分)
  10. BZOJ3110 K大数查询
  11. PDF文件怎么旋转页面
  12. OKR与KPI有什么区别
  13. 面试-Iteration Owner-新加坡航空
  14. office2016和office365等office全版本JH
  15. BH1621FVC-TR光环境传感器
  16. 与思科交换机三层链路聚合连接 ❀ 飞塔 (Fortinet) 防火墙
  17. 嵌入式系统实用电源管理技术应该如何选择?
  18. .NET 对象序列化学习笔记(—)
  19. Android或者Windows Phone在HTTP调用Google Map Api时返回英文结果的解决方法
  20. Oracle spatial 空间修正函数(SDO_UTIL.RECTIFY_GEOMETRY)

热门文章

  1. 随机变量的分布函数-定义域问题
  2. Lua日期与时间操作
  3. NodeJS学习日记--VSCode下调试
  4. 跨服务器上传文件方式
  5. PC SERVER 序列号查询
  6. 解决svn错误:post-commit hook failed (exit code 1) with output
  7. MemoryStream 反序列化的报错问题
  8. [Python人工智能] 七.加速神经网络、激励函数和过拟合
  9. 【数据结构与算法】之深入解析“用Rand7()实现Rand10()”的求解思路与算法示例
  10. 一个信道的数据传输速率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,那么要求的数据帧长度至少为( )