- Second Max of Array
Find the second max number in a given array.
Example
Given [1, 3, 2, 4], return 3.
Given [1, 2], return 1.
Notice
You can assume the array contains at least two numbers.
解法:
注意 "else if (secMax <= nums[i])"是必须要的。
注意 input example [1, -1, -2].
class Solution {
public:
/**
* @param nums: An integer array
* @return: The second max number in the array.
*/
int secondMax(vector<int> &nums) {
int max = INT_MIN;
int secMax = INT_MIN;
int len = nums.size();
for (int i = 0; i < len; ++i) {
if (max <= nums[i]) {
secMax = max;
max = nums[i];
} else if (secMax <= nums[i]) {
secMax = nums[i];
}
}
return secMax;
}
};
本文介绍了一种高效查找数组中第二大元素的方法,通过一次遍历实现,适用于至少包含两个元素的数组。示例代码展示了如何使用C++实现这一算法,特别注意了特殊情况的处理。

被折叠的 条评论
为什么被折叠?



