题解 | #单链表的排序#

数组中的最长连续子序列

http://www.nowcoder.com/practice/eac1c953170243338f941959146ac4bf

import java.util.*;


public class Solution {
    /**
     * max increasing subsequence
     * @param arr int整型一维数组 the array
     * @return int整型arr
     */
    public int MLS (int[] arr) {
        // write code here
        if(arr.length==0||arr==null)return 0;
        Set <Integer>set=new HashSet<>();
        for(int i:arr){set.add(i);}
        Iterator iterator=set.iterator();
        int a[]=new int[set.size()];
        int k=0;
        while(iterator.hasNext()){
            a[k]=(int)iterator.next();
            k++;
        }
        Arrays.sort(a);
        int max=1;
        int j=0;
        for(int i=1;i<a.length;i++){
            if(a[i-1]+1!=a[i]){
                j=i;
            }
             max=Math.max(max,i-j+1);
        }
        return max;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务