Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,844 questions

51,765 answers

573 users

How to find the length of the longest consecutive sequence of an unsorted array of integers in Go

1 Answer

0 votes
package main

import (
	"fmt"
)

func longestConsecutive(nums []int) int {
	if len(nums) == 0 {
		return 0
	}

	// Create a map to store unique numbers
	numSet := make(map[int]bool)
	for _, num := range nums {
		numSet[num] = true
	}

	longestStreak := 0

	// Iterate through the set
	for num := range numSet {
		// Check if it's the start of a sequence
		if !numSet[num-1] {
			currentNum := num
			currentStreak := 1

			// Count the length of the sequence
			for numSet[currentNum+1] {
				currentNum++
				currentStreak++
			}

			// Update the longest streak
			if currentStreak > longestStreak {
				longestStreak = currentStreak
			}
		}
	}

	return longestStreak
}

func main() {
	nums := []int{680, 4, 590, 3, 1, 2}
	
	fmt.Println("Length of longest consecutive sequence:", longestConsecutive(nums))
}




/*
run:

Length of longest consecutive sequence: 4

*/

 



answered Aug 19, 2025 by avibootz

Related questions

...