# Solving Leetcode Interviews in Seconds with AI: Longest Consecutive Sequence


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "128" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence. You must write an algorithm that runs in O(n) time.   Example 1:  Input: nums = [100,4,200,1,3,2] Output: 4 Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4.  Example 2:  Input: nums = [0,3,7,2,5,8,4,6,0,1] Output: 9  Example 3:  Input: nums = [1,0,1,2] Output: 3    Constraints:  0 <= nums.length <= 105 -109 <= nums[i] <= 109  

	# Explanation
	Here's a solution to find the length of the longest consecutive elements sequence in an unsorted array of integers, meeting the O(n) time complexity requirement.

*   **Use a Set:** Convert the input array into a set. This allows for O(1) average-case time complexity for checking the existence of an element.
*   **Iterate and Extend:** Iterate through the original array. For each number, check if it's the start of a sequence (i.e., the number minus 1 is not in the set). If it is, extend the sequence as far as possible by incrementing the current number and checking for its existence in the set.
*   **Track Maximum Length:** Keep track of the maximum sequence length found so far.

*   **Runtime Complexity:** O(n), **Storage Complexity:** O(n)

	
	# Code
	```python
	def longestConsecutive(nums):
    """
    Finds the length of the longest consecutive elements sequence in an unsorted array.

    Args:
        nums: A list of integers.

    Returns:
        The length of the longest consecutive elements sequence.
    """

    num_set = set(nums)
    longest_streak = 0

    for num in nums:
        # Check if 'num' is the start of a sequence
        if (num - 1) not in num_set:
            current_num = num
            current_streak = 1

            while (current_num + 1) in num_set:
                current_num += 1
                current_streak += 1

            longest_streak = max(longest_streak, current_streak)

    return longest_streak
	```
			
