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

示例:

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

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-increasing-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解法一:

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

解法二:

300. 最长上升子序列相关推荐

  1. LeetCode高频题300. 最长递增子序列

    LeetCode高频题300. 最长递增子序列 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们在公司养了一大批A ...

  2. python【力扣LeetCode算法题库】300 最长上升子序列(动态规划)

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

  3. 111. Leetcode 300. 最长递增子序列 (动态规划-子序列问题)

    步骤一.确定状态: 确定dp数组及下标含义 dp是长度为len(nums)的数组,dp[i]表示以nums[i]结尾的最长子序列的长度, 这个定义中 nums[i] 必须被选取,且必须是这个子序列的最 ...

  4. Leetcode 300 最长递增子序列 (每日一题 20210803)

    给你一个整数数组 nums ,找到其中最长严格递增子序列的长度.子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序.例如,[3,6,2,7] 是数组 [0,3,1,6,2 ...

  5. LeetCode 300. 最长上升子序列(Longest Increasing Subsequence)

    题目描述 给出一个无序的整形数组,找到最长上升子序列的长度. 例如, 给出 [10, 9, 2, 5, 3, 7, 101, 18], 最长的上升子序列是 [2, 3, 7, 101],因此它的长度是 ...

  6. 找出最具竞争力的子序列_力扣300——最长上升子序列

    这道题主要涉及动态规划,优化时可以考虑贪心算法和二分查找. 原题 给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: ...

  7. Leetcode——300. 最长上升子序列

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

  8. leetcode数组汇总_[LeetCode] 300. 最长上升子序列

    题目链接: https://leetcode-cn.com/problems/longest-increasing-subsequence 难度:中等 通过率:43.0% 题目描述: 给定一个无序的整 ...

  9. leetcode 300. 最长上升子序列

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

最新文章

  1. python第一个公开发行版_python之基础篇(一)
  2. Spring AOP动态代理原理与实现方式
  3. 分分钟搞定 OpenV2X 开发环境
  4. 【C语言】统计素数并求和
  5. 【土壤湿度传感器与 Arduino 测量土壤湿度】
  6. 截止失真放大电路_音频功放失真?别急!这里有常见改善方法
  7. windows安装idea2019.3.3
  8. java servlet过滤器简解及实例
  9. 不一样的视角来学习Spring源码之AOP---上
  10. 软件测试周度目标,部门周度工作计划表(新)-
  11. JAVA读书网络社区设计计算机毕业设计Mybatis+系统+数据库+调试部署
  12. 从 DevSecOps 流程视角看 IAST 技术应用与发展
  13. PAT(甲级)2019年冬季考试7-1 Good in C (20 分)
  14. MySQL 5.7.20 Group Relication(组复制)搭建手册
  15. 事件代理(事件委托)、事件冒泡
  16. 视频教程-【无废话课程】Maya软件初级教学UV拆分基础入门【字幕版】-Maya
  17. 【Android笔记25】Android中的动画效果之逐帧动画
  18. 4.ERP必须基于企业流程管理
  19. STM32与Futaba遥控器进行S.Bus的通讯程序
  20. linux u盘识别日志message,linux下U盘识别问题

热门文章

  1. 关于ORA-04021解决办法(timeout occurred while waiting to lock object)
  2. 对上拉下拉电阻的作用作个总结(想了解的过来看看)(转载)
  3. [导入]【翻译】WF从入门到精通(第十章):事件活动
  4. 周华健,歌声伴我成长(四)
  5. predict函数 R_学习|R语言做机器学习的常用函数总结
  6. html权重值_史上最全的web前端面试题汇总及答案HtmlCss(二)
  7. linux基本命令du,Linux常用操作命令汇总
  8. 二元置信椭圆r语言_医学统计与R语言:圆形树状图(circular dendrogram)
  9. python正则r的作用_Python正则表达式,这一篇就够了!
  10. 乐高计算机发展史教程,【乐高产品发展史特别篇】乐高恐龙发展史