利用java中的Treemap排序去重,然后遍历,保留连续次数最大值即可:

import java.util.*;

public class Solution {
/**
* max increasing subsequence
* @param arr int整型一维数组 the array
* @return int整型
*/
public int MLS (int[] arr) {
TreeSet<integer> treeSet = new TreeSet<>();
for(int i : arr){
treeSet.add(i);
}
int result = 0;
int length = 1;
Iterator<integer> iterator = treeSet.iterator();
int last = 0;
if (iterator.hasNext()){
last = iterator.next();
result = 1;
}else{
return result;
}
while (iterator.hasNext()){
Integer next = iterator.next();
if (next != last+1){
result = Math.max(result,length);
length = 1;
}else {
length++;
}
last = next;
}
result = Math.max(result,length);
return result;
}
}</integer></integer>