特殊情况:只有1个元素
1. 找出最大值
2. 找出第2大的值
如果最大值第2大值,说明符合,返回最大值的位置。否则返回-1
class Solution {
public:
int dominantIndex(vector<int>& nums) {
if (nums.size() == 1) return 0; // 只有1个元素
// 最大值
int max_num = *max_element(nums.begin(), nums.end());
int index = distance(nums.begin(),max_element(nums.begin(), nums.end()));
// 找第2大的值
int second_max = -1;
for (int num : nums) {
if ((num > second_max) && (num != max_num)) {
second_max = num;
}
}
// cout << max_num << "," << second_max << endl;
if ((max_num - second_max )>= second_max) {
return index;
}
return -1;
}
};