가장 긴 연속 시퀀스
O(n) 시간에 실행되는 알고리즘을 작성해야 합니다.
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.
var longestConsecutive = function (nums) {
let num_set = new Set(nums);
let longestStreak = 0;
for (let num of nums) {
if (!num_set.has(num - 1)) {
let currentNum = num;
let currentStreak = 1;
while (num_set.has(currentNum + 1)) {
currentNum += 1;
currentStreak += 1;
}
longestStreak = Math.max(longestStreak, currentStreak);
}
}
return longestStreak;
}
시간 복잡도 : O(n)
Reference
이 문제에 관하여(가장 긴 연속 시퀀스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/styluso7/longest-consecutive-sequence-2bo0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)