执行用时:28 ms, 在所有 Swift 提交中击败了86.11%的用户 内存消耗:14.1 MB, 在所有 Swift 提交中击败了13.89%的用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
classSolution{ functhirdMax(_nums: [Int]) -> Int { var sortnum = nums.sorted(by: {$0>$1}) let n = sortnum.count var diff =1 for i in1..< n { if sortnum[i] != sortnum[i-1] { diff +=1 } if diff ==3 { return sortnum[i] } } return sortnum[0] } }
set去重+排序
1 2 3 4 5 6 7 8 9 10 11
classSolution{ publicintthirdMax(int[] nums){ HashSet<Integer> set = new HashSet<>(); for (int num : nums) { set.add(num); } ArrayList<Integer> list = new ArrayList<>(set); Collections.sort(list); return list.size() < 3 ? list.get(list.size() - 1) : list.get(list.size()-3); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
classSolution{ publicintthirdMax(int[] nums){ Arrays.sort(nums); int diff = 1; int last = nums.length - 1; for (int i = last; i >= 1; i--) { if (nums[i] != nums[i-1]) { diff++; } if (diff == 3) { return nums[i-1]; } } return nums[last]; } }