博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-300.Longst Increasing Subsequence
阅读量:5108 次
发布时间:2019-06-13

本文共 1800 字,大约阅读时间需要 6 分钟。

Given an unsorted array of integers, find the length of longest increasing subsequence.

Example:

Input: [10,9,2,5,3,7,101,18]Output: 4 Explanation: The longest increasing subsequence is [2,3,7,101], therefore the length is 4.

Note:

  • There may be more than one LIS combination, it is only necessary for you to return the length.
  • Your algorithm should run in O(n2) complexity.

Follow up: Could you improve it to O(n log n) time complexity?

 

使用dp,时间复杂度为O(n2)

1 public int lengthOfLIS(int[] nums) {
//dp my 2 if(null==nums||0==nums.length){ 3 return 0; 4 } 5 int max= 1; 6 int[] re = new int[nums.length];//存放当前位置的最大长度 7 re[0]=1; 8 for(int i=1;i
=0;j--){11 if(nums[j]
max){17 max =re[i];18 }19 }20 return max;21 }

 

利用二分,时间复杂度为O(nlogn)

public int lengthOfLIS(int[] nums) {
//二分 mytip if(null==nums||0==nums.length){ return 0; } List
re = new ArrayList<>();// re.add(nums[0]); int index = 0; for(int i=1;i
re.get(re.size()-1)){
//如果大于最后一个元素,直接插入 re.add(nums[i]); } else{ index = bs(0,re.size()-1,re,nums[i]);//二分找到第一个不大于nusm[i]的数的下标,然后替换为当前数 re.set(index,nums[i]); } } return re.size();//数组长度为最大值 } private int bs(int left,int right,List
list,int num){ while(left<=right){ if(left >= right){ return left; } else{ int mid = left + (right - left)/2; if(list.get(mid)

 

转载于:https://www.cnblogs.com/zhacai/p/10661330.html

你可能感兴趣的文章
部署支持 https 的 Nginx 服务
查看>>
‘Cordova/CDVPlugin.h’ file not found
查看>>
WebAssembly是什么?
查看>>
C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件)...
查看>>
树状数组_一维
查看>>
【拓扑排序】【最短路】【最小生成树】Day 9.2
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
C# 使用 Abot 实现 爬虫 抓取网页信息 源码下载
查看>>
嵌入式软件设计第8次实验报告
查看>>
NP难问题求解综述
查看>>
算法和数据结构(三)
查看>>
看一下你在中国属于哪个阶层?
查看>>
在iOS 8中使用UIAlertController
查看>>
Ubuntu下的eclipse安装subclipse遇到没有javahl的问题...(2天解决了)
查看>>
Cadence Allegro 如何关闭铺铜(覆铜)shape的显示和设置shape显示模式–allegro小技巧...
查看>>
Atcoder Grand Contest 004 题解
查看>>
MFC中 给对话框添加背景图片
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
idea 系列破解
查看>>