首页 > 其他 > 详细

Longest Consecutive Sequence

时间:2015-04-19 12:52:44      阅读:217      评论:0      收藏:0      [点我收藏+]

总结帖 http://blog.csdn.net/linhuanmars/article/details/39366817

code 参考帖 http://www.cnblogs.com/springfor/p/3869981.html

http://blog.csdn.net/linhuanmars/article/details/22964467

逻辑上很清晰,iterator的用法get

 public int longestConsecutive(int[] num) {
        if(num==null|| num.length==0) return 0;
        int  res = 1;
        HashSet<Integer> hs = new HashSet<Integer>();
        for(int i=0; i<num.length; i++){
            hs.add(num[i]);
        }
         
        while(!hs.isEmpty()){
            Iterator it  = hs.iterator();
            int item = (Integer) it.next();
            //dont forget this
            hs.remove(item);
            int cnt = 1;
            int less = item-1;
            int more = item+1;
            while(hs.contains(less)){
                cnt++;
                hs.remove(less--);
            }
            while(hs.contains(more)){
                cnt++;
                hs.remove(more++);
            }
            res = Math.max(res,cnt);
        }
        return res;
    }

 

Longest Consecutive Sequence

原文:http://www.cnblogs.com/jiajiaxingxing/p/4438855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!