lintcode(76)最长上升子序列
来源:互联网 发布:java服务器是什么 编辑:程序博客网 时间:2024/05/18 14:25
描述:
给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。
样例:
给出 [5,4,1,2,3]
,LIS 是 [1,2,3]
,返回 3
给出 [4,2,4,5,3,7]
,LIS 是 [2,4,5,7]
,返回 4
思路:
可以画树状图来分析,主要思路就是递归,一个数有两种选择,进入结果数组和不进入结果数组,返回两条分支的最大值。
public class Solution { /** * @param nums: The integer array * @return: The length of LIS (longest increasing subsequence) */ public int longestIncreasingSubsequence(int[] nums) { // write your code here if(nums == null || nums.length == 0){ return 0; } int result = search(nums , 0 , 0 , Integer.MIN_VALUE) ; return result; } public int search(int[] nums , int start , int count , int current){ if(start == nums.length){ return count; } if(current < nums[start]){ return Math.max(search(nums , start + 1 , count + 1 , nums[start]) , search(nums , start + 1 , count , current)); }else{ return search(nums , start + 1 , count , current); } }}
0 0
- lintcode(76)最长上升子序列
- lintcode-最长上升子序列-76
- 最长上升连续子序列(LintCode)
- LintCode(M)最长上升子序列
- LintCode:最长上升子序列
- LintCode 最长上升子序列
- 最长上升子序列-LintCode
- lintcode--最长上升子序列
- LintCode 76 最长上升序列
- LintCode(easy)最长上升连续子序列
- LintCode--最长上升连续子序列
- lintcode-最长上升连续子序列-397
- LintCode -- 最长上升子序列 O(nlgn)
- LintCode- 最长上升连续子序列
- lintCode刷题--最长上升连续子序列
- LintCode:最长上升连续子序列
- LintCode 77.最长上升子序列
- lintcode -- 最长上升连续子序列
- 计算机视觉CV 圈子
- springmvc文件上传与表单为enctype="multipart/form-data" 的数据绑定
- COGS 826. [Tyvj Feb11] GF打dota (K短路)
- SQL Server 2005 导出 数据脚本
- STM32F10x下载口的用法
- lintcode(76)最长上升子序列
- Spark性能优化指南——高级篇
- 【jzoj5042】【最小直径】【树形动态规划】【贪心/结论】
- 1042. 字符统计(20)
- C#里partial关键字的作用
- STL适配器之stack
- Spark性能优化指南——基础篇
- 读书笔记-分层架构
- 蓝桥 ADV-230 算法提高 12-1三角形 【数学公式】