leetcode_third_maximum_number 发表于 2016-12-09 难度:Easy 维护一个数组ret,ret[0]为最大值,ret[1]为第二大,ret[2]为最小值。初始化成LONG_MIN。 1234567891011121314151617181920212223242526272829303132333435class Solution {public: int thirdMax(vector<int>& nums) { vector<long> ret{LONG_MIN,LONG_MIN,LONG_MIN}; for(int i = 0; i < nums.size(); i++) { if(nums[i] > ret[2]) { if(nums[i] > ret[1]) { if(nums[i] > ret[0]) { ret[2] = ret[1]; ret[1] = ret[0]; ret[0] = nums[i]; } else if(nums[i] == ret[0]) continue; else { ret[2] = ret[1]; ret[1] = nums[i]; } } else if(nums[i] == ret[1]) continue; else { ret[2] = nums[i]; } } } return (ret[2]==LONG_MIN)?((ret[0]==LONG_MIN)?0:ret[0]):ret[2]; }}; 6ms,66.19%