import Foundation
func longestConsecutive(_ nums: [Int]) -> Int {
let numSet = Set(nums)
var longestStreak = 0
for num in numSet {
// Only start counting if it's the beginning of a sequence
if !numSet.contains(num - 1) {
var currentNum = num
var currentStreak = 1
while numSet.contains(currentNum + 1) {
currentNum += 1
currentStreak += 1
}
longestStreak = max(longestStreak, currentStreak)
}
}
return longestStreak
}
let nums = [680, 4, 590, 3, 2, 1]
let result = longestConsecutive(nums)
print("Longest consecutive sequence length: \(result)")
/*
run:
Longest consecutive sequence length: 4
*/