首页 > 其他 > 详细

Longest Consecutive Sequence

时间:2015-01-25 16:32:47      阅读:263      评论:0      收藏:0      [点我收藏+]

Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

For example,
Given [100, 4, 200, 1, 3, 2],
The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4.

Your algorithm should run in O(n) complexity.

思路

先对数组排序,然后用DP

 1 public class Solution {
 2     public int longestConsecutive(int[] num) {
 3         Arrays.sort(num);
 4         int curLength = 1;
 5         int maxLength = 1;
 6         
 7         for(int i = 1; i < num.length; i++){
 8             if(num[i] == num[i - 1])
 9                 continue;
10             else if(num[i] - num[i - 1] == 1){
11                 curLength ++;
12                 maxLength = maxLength > curLength ? maxLength : curLength;
13             }
14             else
15                 curLength = 1;
16         }//for
17         
18         return maxLength;
19     }
20 }

 

Longest Consecutive Sequence

原文:http://www.cnblogs.com/luckygxf/p/4248340.html

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