c语言sscanf函数的用法是什么
248
2022-09-14
[leetcode] 414. Third Maximum Number
Description
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:
1
Explanation:
The third maximum is 1.
Example 2: Input:
[1, 2]
Output:
2
Explanation:
The third maximum does not exist, so the maximum (2) is returned instead.
Example 3: Input: [2, 2, 3, 1]
Output: 1
Explanation:
Note that the third maximum here means the third maximum distinct number.Both numbers with value 2 are both considered as second maximum.
分析
题目的意思是:
用三个变量A[0], A[1], A[2]来分别保存第一大,第二大,和第三大的数,然后遍历数组,如果遍历到的数字大于当前第一大的数A[0],那么三个变量各自错位赋值,如果当前数字大于A[1],小于A[0],那么就更新A[1]和A[2],如果当前数字大于A[2],小于A[1],那就只更新A[0]。注意这里有个坑,就是初始化要用长整型long的最小值,否则当数组中有INT_MIN存在时,程序就不知道该返回INT_MIN还是最大值first了。
代码
class Solution {public: int thirdMax(vector 参考文献 [LeetCode] Third Maximum Number 第三大的数
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~