Longest Consecutive Sequence

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

    int longestConsecutive(vector<int>& nums) {
        set<int> hashSet;               //declared a set
        for(int num: nums){
            hashSet.insert(num);        //inserting all array element in the set
        }
        int  longestStreak=0;
        for(int num: nums){
            if(!hashSet.count(num-1)){           //if the number does not has the previous number the update
                int currentNum=num;
                int currentStreak=1;
                
            while(hashSet.count(currentNum+1)){ //update the streak
                currentNum+=1;
                currentStreak+=1;
            }
                longestStreak=max(longestStreak,currentStreak); //maximum streak
            }
        }
        return  longestStreak;
    }

Comments

Popular posts from this blog

Perfect Peak of Array

Is Rectangle?

Sort array with squares!