您的位置:首页 > 其它

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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: