给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。
示例 1:
输入: [3, 2, 1]
输出: 1
解释: 第三大的数是 1.
示例 2:
输入: [1, 2]
输出: 2
解释: 第三大的数不存在, 所以返回最大的数 2 .
示例 3:
输入: [2, 2, 3, 1]
输出: 1
解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。
存在两个值为2的数,它们都排第二。
详见:https://leetcode.com/problems/third-maximum-number/description/

Java实现:

class Solution {
public int thirdMax(int[] nums) {
long first=Long.MIN_VALUE;
long second=Long.MIN_VALUE;
long third=Long.MIN_VALUE;
for(int num:nums){
if(first<num){
third=second;
second=first;
first=num;
}else if(num>second&&num<first){
third=second;
second=num;
}else if(num>third&&num<second){
third=num;
}
}
return (third==Long.MIN_VALUE||third==second)?(int)first:(int)third;
}
}

C++实现:

class Solution {
public:
int thirdMax(vector<int>& nums) {
long first = LONG_MIN, second = LONG_MIN, third = LONG_MIN;
for (int num : nums)
{
if (num > first)
{
third = second;
second = first;
first = num;
}
else if (num > second && num < first)
{
third = second;
second = num;
}
else if (num > third && num < second)
{
third = num;
}
}
return (third == LONG_MIN || third == second) ? first : third;
}
};

参考:https://www.cnblogs.com/grandyang/p/5983113.html

最新文章

  1. 刷LeetCode的正确姿势——第1、125题
  2. JBOSS 5 session时间配置
  3. 使用emIDE创建STM32项目
  4. OpenFOAM 学习路线 【转载】
  5. 为什么使用spring
  6. 初始Java 第一课程DVD项目
  7. 一个label里有个链接,点这个特别颜色的一些字,会执行一些操作
  8. Java 中的 request 和response 理解
  9. hdu 5326 Work
  10. Pox组件
  11. ios开发时候,出现A valid provisioning profile for this executable was not found 错误
  12. OC与Swift的区别二(常量、变量、运算符)
  13. DataTables自定义事件
  14. kivy create a package for Android
  15. bzoj4827 [Hnoi2017]礼物
  16. springboot- logback 可切换不同环境
  17. C++类中的静态成员变量和静态成员函数的作用
  18. C# 执行CMD 命令
  19. JavaScript基础(一)概述
  20. Linux Socket 编程简介

热门文章

  1. 分享一个检测用户是否用手机(Mobile)访问网站的 PHP 类
  2. Binder IPC的权限控制
  3. Python的调用程序
  4. STL vector的介绍(1)
  5. eclipse中导入其它的webproject遇到和解决的问题
  6. Koa2学习(五)中间件
  7. 交换分区 在dd命令执行期间 top 其消耗系统约14%的cpu,而mem占比约为0
  8. 用css解决Unigui在IE系列浏览器中字体变小的问题(设置UniServeModule的customcss属性)
  9. HDU3829 Cat VS Dog —— 最大独立集
  10. html5--项目实战-仿360囧图