Third Maximum Number - Array - Easy - LeetCode
💻 coding

Third Maximum Number - Array - Easy - LeetCode

1 min read 137 words
1 min read
ShareWhatsAppPost on X
  • 1The task is to find the third maximum number in a non-empty array of integers.
  • 2If the third maximum does not exist, the maximum number should be returned instead.
  • 3The provided solution has a time complexity of O(nlogn) and a space complexity of O(1).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The task is to find the third maximum number in a non-empty array of integers."

Third Maximum Number - Array - Easy - LeetCode

Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).

Example 1: Input: [3, 2, 1]

Output: 1

Explanation: The third maximum is 1. Example 2: Input: [1, 2]

Output: 2

Explanation: The third maximum does not exist, so the maximum (2) is returned instead. Example 3: Input: [2, 2, 3, 1]

Output: 1

Explanation: Note that the third maximum here means the third maximum distinct number. Both numbers with value 2 are both considered as second maximum.

public class Solution {
 public int ThirdMax(int[] nums) {
 Array.Sort(nums);
 Array.Reverse(nums);
 int count = 1;
 int num = nums[0];
 for(int i=1;i<nums.Length;i++){
 if(nums[i]!=num){
 count++;
 num=nums[i];
 }
 if(count==3){
 break;
 }
 }
 
 return count==3?num:nums[0];
 }
}

Time Complexity: O(nlogn)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 25 September 2020 · 1 min read · 137 words

Part of AskGif Blog · coding

You might also like