输入1个数组,输出第3大的元素,如果不存在输出最大值,重复出现的元素只计数1次。
Input: [3, 2, 1] Output: 1参考discuss,关联容器set会自动按键值大小排好顺序,且不接收重复元素
set<int> top3;
for (int num : nums) {
top3.insert(num);
if (top3.size() > 3)
top3.erase(top3.begin());
}
return top3.size() == 3 ? *top3.begin() : *top3.rbegin();