def longestConsecutive(nums: Array[Int]): Int = {
val numSet = nums.toSet
var longestStreak = 0
for (num <- numSet) {
if (!numSet.contains(num - 1)) {
var currentNum = num
var currentStreak = 1
while (numSet.contains(currentNum + 1)) {
currentNum += 1
currentStreak += 1
}
longestStreak = math.max(longestStreak, currentStreak)
}
}
longestStreak
}
val nums = Array(680, 4, 590, 3, 1, 2)
println("Longest consecutive sequence length: " + longestConsecutive(nums))
/*
run:
Longest consecutive sequence length: 4
*/