✅문제
https://leetcode.com/problems/third-maximum-number/description/
✅풀이
Set으로 중복제거하고 시작하면 편하게 구할 수 있다. 시간복잡도는 O(NlogN) 으로 이런 이유는 js sorting algorithm 이 tim sort 방식을 사용하기 때문이다. 참고로 tim sort 방식은 merge sort 와 insertion sort를 결합하여 만든 sorting 방식이라고 한다. 자세히 알고 싶으면 https://d2.naver.com/helloworld/0315536 를 보면 된다.
/**
* @param {number[]} nums
* @return {number}
*/
var thirdMax = function (nums) {
const sorted = [...new Set(nums)].sort((prev, next) => next - prev);
let answer = undefined;
for (let i = 0; i < 3; ++i) {
const num = sorted[i];
if (num === undefined) {
return sorted[0];
}
answer = num;
}
return answer;
};
'🔒Algorithm' 카테고리의 다른 글
LeetCode > 2591. Distribute Money to Maximum Children (0) | 2025.03.28 |
---|---|
LeetCode [JS] > 392. Is Subsequence (0) | 2025.03.27 |
HackerRank > big-sorting (0) | 2025.03.22 |
LeetCode[JS] > 2718. Sum of Matrix After Queries (0) | 2025.03.15 |
LeetCode [JS] > 3192. Minimum Operations to Make Binary Array Elements Equal to One II (0) | 2025.03.12 |