LeetCode刷题(Third Maximum Number )

    xiaoxiao2021-03-25  110

    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.

    很自然想到使用TreeSet进行数据存储。

    public class Solution { public int thirdMax(int[] nums) { TreeSet ts = new TreeSet(); for(int x=0;x<nums.length;x++) ts.add(nums[x]); if(ts.size()<=2) return (Integer)ts.last(); else { int y = (Integer)ts.pollLast(); int z = (Integer)ts.pollLast(); int v = (Integer)ts.pollLast(); return v; } } }

    Submission Result: Accepted

    转载请注明原文地址: https://ju.6miu.com/read-19833.html

    最新回复(0)