【Leetcode】414. Third Maximum Number

題目地址:

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

給定一個非空數組,求其第三大元素(去重後的第三大)。若不存在,則返回最大值。可以用哈希表來做。代碼如下:

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

public class Solution {
    public int thirdMax(int[] nums) {
        Set<Integer> set = new HashSet<>();
        for (int num : nums) {
            set.add(num);
            if (set.size() > 3) {
                set.remove(Collections.min(set));
            }
        }
        
        return set.size() == 3 ? Collections.min(set) : Collections.max(set);
    }
}

時間複雜度O(n)O(n),空間O(1)O(1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章