LeetCode: Third Maximum Number
来源:互联网 发布:cbox网络电视官方 编辑:程序博客网 时间:2024/05/21 21:47
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: 1Explanation: The third maximum is 1.
Example 2:
Input: [1, 2]Output: 2Explanation: The third maximum does not exist, so the maximum (2) is returned instead.
Example 3:
Input: [2, 2, 3, 1]Output: 1Explanation: Note that the third maximum here means the third maximum distinct number.Both numbers with value 2 are both considered as second maximum.
class Solution {public: int thirdMax(vector<int>& nums) { if (nums.size() == 1) { return nums[0]; } else if (nums.size() == 2) { if (nums[0] > nums[1]) { return nums[0]; } else return nums[1]; } vector<int> left; int max1 = -2147483648; int max2 = -2147483648; int max3 = -2147483648; int n = nums.size(); bool appeared = false; for (int i = 0; i < n; ++i) { if (nums[i] == -2147483648) { appeared = true; } if (nums[i] >= max1) { if (nums[i] > max1) { max3 = max2; max2 = max1; max1 = nums[i]; } } else if (nums[i] >= max2) { if (nums[i] > max2) { max3 = max2; max2 = nums[i]; } } else if (nums[i] >= max3) { max3 = nums[i]; } } if (!appeared) { if (max3 == -2147483648) { return max1; } else return max3; } else if (max2 > max3) { return max3; } else return max1; }};
0 0
- LeetCode Third Maximum Number
- LeetCode-Third Maximum Number
- [Leetcode] Third Maximum Number
- LeetCode: Third Maximum Number
- leetcode---Third Maximum Number
- LeetCode : Third Maximum Number
- leetcode[Third Maximum Number]
- LeetCode Third Maximum Number
- leetCode-Third Maximum Number
- LeetCode #414: Third Maximum Number
- leetcode 414. Third Maximum Number
- LeetCode:414. Third Maximum Number
- LeetCode-414. Third Maximum Number
- Leetcode之Third Maximum Number
- LeetCode 414. Third Maximum Number
- [Leetcode]414. Third Maximum Number
- LeetCode 414. Third Maximum Number
- <leetcode>414. Third Maximum Number
- 第二章 IPC机制详解(2)
- 程序设计与C语言学习笔记_第五章函数_1
- 深入理解Looper、MessageQueue、Handler之间的关系,Android的异步消息机制
- test
- 160 - 10 Andrénalin.3
- LeetCode: Third Maximum Number
- 【java总结】反射
- web开发必备的几个软件
- ES6--变量的声明及解构赋值
- apache安装php
- Anaconda2+cuda7.5+theano的深度学习框架搭建
- HDU - 1384 差分约束
- 程序设计与C语言学习笔记_第五章函数_2
- 野指针