码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode Third Maximum Number

时间:2017-04-06 10:00:27      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:inpu   class   ber   element   logs   ons   input   code   htm   

原题链接在这里:https://leetcode.com/problems/third-maximum-number/#/description

题目:

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.

题解:

设立三个指针,交替赋值.

Time Complexity: O(n), n = nums.length. Space: O(1).

AC Java:

 1 public class Solution {
 2     public int thirdMax(int[] nums) {
 3         Integer max1 = null;
 4         Integer max2 = null;
 5         Integer max3 = null;
 6         
 7         for(Integer n : nums){
 8             if(n.equals(max1) || n.equals(max2) || n.equals(max3)){
 9                 continue;
10             }
11             
12             if(max1==null || n>max1){
13                 max3 = max2;
14                 max2 = max1;
15                 max1 = n;
16             }else if(max2==null || n>max2){
17                 max3 = max2;
18                 max2 = n;
19             }else if(max3==null || n>max3){
20                 max3 = n;
21             }
22         }
23         
24         return max3 == null ? max1 : max3;
25     }
26 }

类似Kth Largest Element in an Array.

LeetCode Third Maximum Number

标签:inpu   class   ber   element   logs   ons   input   code   htm   

原文地址:http://www.cnblogs.com/Dylan-Java-NYC/p/6671443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!