의역: 정수형 배열 nums 가 주어질 때 third distinct maximum number를 반환하라

만약 third distinct maximum number가 존재하지 않는다면 가장 큰 수를 반환하라 

third distinct maximum number: 중복을 허용 할 때의 3번째로 큰 수 ex ( 3,2,2,1 -> 세 번째로 큰 수는 1) 

 

추가적인 조건:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

의역: 첫 번째 예시에서 3번째로 큰 수는 1임으로 반환 해야 하는 값은 1

두 번째 예시에서 3번째로 큰 수는 존재 하지 않으므로 가장 큰 수 2를 반환 

세 번째 예시에서 3번째로 큰 수는 1임으로 1 반환 (2가 2개 존재하지만 같은 숫자이므로 넘어간다.) 

 

Follow up: Can you find an O(n) solution?

시간 복잡도 O(n)으로 풀 수 있는가? -> 정렬을 사용하지 않고 풀 수 있는가? -> 정렬의 시간 복잡도는 O(nlogn)

 

링크: https://leetcode.com/problems/third-maximum-number/

+ Recent posts