描述
给定无序数组arr,返回其中最长的连续序列的长度(要求值连续,位置可以不连续,例如 3,4,5,6为连续的自然数)
示例1
输入:
[100,4,200,1,3,2]
返回值:
4
示例2
输入:
[1,1,1]
返回值:
1
备注:
1≤n≤1051 \leq n \leq 10^51≤n≤105
1≤arri≤1081 \leq arr_i \leq 10^81≤arri≤108
题解:
import java.util.*;
public class Solution {
/**
* max increasing subsequence
* @param arr int整型一维数组 the array
* @return int整型
*/
public int MLS (int[] arr) {
// write code here
Arrays.sort(arr);
int maxCount=0;
int count=1;
for(int i=0;i<arr.length-1;i++){
int cur=arr[i];
int next=arr[i+1];
if(cur==next)continue;
if(next-cur==1){
count++;
}else{
count=1;
}
if(count>maxCount)maxCount=count;
}
return maxCount;
}
}