[刷题] 300 Longest Increasing Subsequence
要求
- 给定一个整数序列,求其中的最长上升子序列长度
- 子序列元素可不相邻
- 元素相等不算上升
- 一个序列可能有多个最长上升子序列,但最长的长度只有一个
思路
- 暴力解法:选择所有子序列进行判断((2^n)*n)
- 动态规划(n^2)
- LIS(i):[0...i]范围内,选择数字nums[i]可以获得的最长上升子序列长度
- LIS(i) = max( 1 + LIS(j) if nums[i] > nums[j] ) (j<i)


实现
1 class Solution {
2 public:
3 int lengthOfLIS(vector<int>& nums) {
4
5 if( nums.size() == 0 )
6 return 0;
7
8 // memo[i] 表示以 nums[i] 为结尾的最长上升子序列的长度
9 vector<int> memo(nums.size(),1);
10 for( int i = 1 ; i < nums.size() ; i ++ )
11 for( int j = 0 ; j < i ; j ++ )
12 if( nums[j] < nums[i] )
13 memo[i] = max( memo[i] , 1 + memo[j] );
14
15 int res = 1;
16 for( int i = 0 ; i < nums.size() ; i ++ )
17 res = max( res, memo[i] );
18
19 return res;
20 }
21 };
相关
- 376 Wiggle Subsequence
[刷题] 300 Longest Increasing Subsequence的更多相关文章
- LintCode刷题笔记--Longest Increasing Subsequence
标签: 动态规划 描述: Given a sequence of integers, find the longest increasing subsequence (LIS). You code s ...
- 【刷题-LeetCode】300. Longest Increasing Subsequence
Longest Increasing Subsequence Given an unsorted array of integers, find the length of longest incre ...
- 300. Longest Increasing Subsequence
题目: Given an unsorted array of integers, find the length of longest increasing subsequence. For exam ...
- [LeetCode] 300. Longest Increasing Subsequence 最长递增子序列
Given an unsorted array of integers, find the length of longest increasing subsequence. Example: Inp ...
- LeetCode 300. Longest Increasing Subsequence最长上升子序列 (C++/Java)
题目: Given an unsorted array of integers, find the length of longest increasing subsequence. Example: ...
- 【LeetCode】300. Longest Increasing Subsequence 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Leetcode 300 Longest Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence. For example, ...
- leetcode@ [300] Longest Increasing Subsequence (记忆化搜索)
https://leetcode.com/problems/longest-increasing-subsequence/ Given an unsorted array of integers, f ...
- [leetcode]300. Longest Increasing Subsequence最长递增子序列
Given an unsorted array of integers, find the length of longest increasing subsequence. Example: Inp ...
随机推荐
- 第16 章 : 深入理解 etcd:基于原理解析
深入理解 etcd:基于原理解析 本文将主要分享以下三方面的内容: 第一部分,会为大家介绍 etcd 项目发展的整个历程,从诞生至今 etcd 经历的那些重要的时刻: 第二部分,会为大家介绍 etcd ...
- 解决跨域问题chrome浏览器插件
https://www.crx4chrome.com/crx/53489/ 解决chrome浏览器跨域的问题
- 05_pytorch的Tensor操作
05_pytorch的Tensor操作 目录 一.引言 二.tensor的基础操作 2.1 创建tensor 2.2 常用tensor操作 2.2.1 调整tensor的形状 2.2.2 添加或压缩t ...
- 数据结构之Queue | 让我们一块来学习数据结构
前面的两篇文章分别介绍了List和Stack,下面让我们一起来学习Queue 数据结构之List | 让我们一块来学习数据结构 数据结构之Stack | 让我们一块来学习数据结构 队列的概况 队列是一 ...
- 内网渗透-windows认证
前言:全国HW刚结束,加强一波内网概念,去年11月红队成绩并不理想,这次必拿下好成绩.冲!!! 0x00 本地认证 本地认证基础知识 在本地登录Windows的情况下,操作系统会使用用户输入的密码作为 ...
- 1045 Favorite Color Stripe
Eva is trying to make her own color stripe out of a given one. She would like to keep only her favor ...
- 03- Linux目录与文件进阶操作
第三课 目录与文件进阶操作cat (一次性全部输出文件内容) cat -n 文件名 显示行号 cat -b 文件名 空行不显示行号less (分页显示,可以上下翻页,光标键上下键,PageUp ...
- postman传入cookie的三种方式
1.直接在环境变量里面设置 2.在登录接口的tests,把返回值的cookie设置为全局变量 3.直接在cookie里面传入
- sublimeText常用插件
扩展包: EmmetAlignmentDocBlockrSideBarEnhancementsFileDiffsColorsublimelocalizationAutoFileNameA File ...
- composer 使用提示
1.使用国内镜像[推荐] composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 或者 comp ...