76 - 最长上升子序列
2017-09-26 10:30
197 查看
2017.9.26
建立一个一维数组 arr[],表示当遍历到这个数时,当前的最长上升子序列。
public class Solution {
/*
* @param nums: An integer array
* @return: The length of LIS (longest increasing subsequence)
*/
public static int longestIncreasingSubsequence(int[] nums) {
// write your code here
int length = nums.length;
if(length <= 1){
return length;
}
int res = 1;
int []arr = new int[length];
arr[0] = 1;
for(int i = 1; i < length; i++){
arr[i] = 1;
for(int j = 0; j < i; j++){
if(nums[i] > nums[j]){
arr[i] = Math.max(arr[i], arr[j]+ 1);
res = Math.max(res, arr[i]);
}
}
}
return res;
}
}
建立一个一维数组 arr[],表示当遍历到这个数时,当前的最长上升子序列。
public class Solution {
/*
* @param nums: An integer array
* @return: The length of LIS (longest increasing subsequence)
*/
public static int longestIncreasingSubsequence(int[] nums) {
// write your code here
int length = nums.length;
if(length <= 1){
return length;
}
int res = 1;
int []arr = new int[length];
arr[0] = 1;
for(int i = 1; i < length; i++){
arr[i] = 1;
for(int j = 0; j < i; j++){
if(nums[i] > nums[j]){
arr[i] = Math.max(arr[i], arr[j]+ 1);
res = Math.max(res, arr[i]);
}
}
}
return res;
}
}
相关文章推荐
- lintcode-76-最长上升子序列
- lintcode(76)最长上升子序列
- 最长上升子序列 POJ 2533(n*n与 nlogn)
- 最长上升子序列
- 最少拦截系统(最长上升子序列)
- SDUT_1299 最长上升子序列
- hdoj1160最长上升子序列
- ZOJ 1986 最长上升子序列
- HDU 6197 array array array (2017沈阳网赛- 最长上升子序列)
- hdu 6197 array array array (LIS,最长上升子序列模板题)
- hdu 1423 Greatest Common Increasing Subsequence 最长公共上升子序列
- 最长严格上升子序列
- hdu 1423 dp 求最长公共上升子序列
- noip1999 拦截导弹 (单调队列求解:最长下降子序列+最长上升子序列)
- 最长不上升子序列
- HDU 1950 最长上升子序列
- 动态规划-最长上升子序列LIS
- HDU 1069 Monkey and Banana (最长上升子序列)
- 最长上升子序列nlogn算法
- YTU OJ 3135: 动态规划基础题目之最长上升子序列(Java解题)