leetcode414. 第三大的数
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。
示例 1:
输入: [3, 2, 1]
输出: 1
解释: 第三大的数是 1.
示例 2:
输入: [1, 2]
输出: 2
解释: 第三大的数不存在, 所以返回最大的数 2 .
示例 3:
输入: [2, 2, 3, 1]
输出: 1
解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。
存在两个值为2的数,它们都排第二。
思路1:见代码,分情况即可。记得特殊处理第三小正好是Integer.MIN_VALUE的情况。
class Solution {public int thirdMax(int[] nums) {int first=Integer.MIN_VALUE;int second=Integer.MIN_VALUE;int third=Integer.MIN_VALUE;int sum=0;boolean bool=false;for(int i:nums){if(i==Integer.MIN_VALUE)bool=true;if(i==first || i==second || i==third)continue;if(i>first){third=second;second=first;first=i;sum++;}else if(i>second){third=second;second=i;sum++;}else if(i>third){third=i;sum++;}}if(sum>2){return third;}else if(sum==2 && bool){return third;}else{return first;}}
}
leetcode414. 第三大的数相关推荐
- [Swift]LeetCode414. 第三大的数 | Third Maximum Number
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 【LeetCode】414. 第三大的数
给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1]输出: 1解释: 第三大的数是 1. 示例 2: ...
- 【LeetCode】414.第三大的数
题目描述 给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 ...
- ajax 最大链接数_leetcode之第三大的数
序 本文主要研究一下leetcode之第三大的数 题目 给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n).示例 1:输入: [3, 2, 1 ...
- LeetCode Algorithm 414. 第三大的数
414. 第三大的数 Ideas emmmm,内置排序算法YYDS,三行代码解决. Code C++ class Solution {public:int thirdMax(vector<int ...
- leetcode|第三大的数java题解
由于在面试作业帮.好未来侧开实习面试的时候都被问到了这道题,所以我就来写个题解吧 给你一个非空数组,返回此数组中 第三大的数 .如果不存在,则返回数组中最大的数. 示例 1: 输入:[3, 2, 1] ...
- 414. 第三大的数
给你一个非空数组,返回此数组中 第三大的数 .如果不存在,则返回数组中最大的数 方法一 首先将数组排序,然后通过集合去除重复的元素,最后进行一次判断,选择第三大元素还是最大元素 class Solut ...
- C#LeetCode刷题之#414-第三大的数(Third Maximum Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3710 访问. 给定一个非空数组,返回此数组中第三大的数.如果不存 ...
- [Leetcode] 414. 第三大的数
题目描述: 给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1]输出: 1解释: 第三大的数是 1. ...
最新文章
- 洛谷 P1318 积水面积
- IEEE802.11协议栈
- Python测试程序用时时长(运行时间测试)
- 自动化测试——接口自动化——requests用法
- Maven项目添加ojdbc8
- 100m光纤测速多少正常_100m光纤测速多少正常 所以100M宽带最大下载速度
- 倾斜摄影——3维建模软件PhotoScan教程(附安装包+教学视频)
- 该弱磁算法采用单电流控制策略,额定转速以下采用MTPA控制,额定转速以上采用单电流控制
- android不透明度对应的值
- 数据可视化大屏案例系列 2
- 怎样建立个人邮箱账号?个人邮箱有什么功能?
- Linux 5300AGN网卡驱动,t400 wifi link 5100 AGN linux驱动安装
- 【Java】 Java 实现 2048 小游戏
- 一文带你浅入浅出Keepalived
- Vue2积分商城PC端项目(六)
- 审核工作流程图、在线流程图、审批流程设计、在线绘图
- Freemarker源码分析(9)core.JSONParser类
- LY68L6400SLIT 编带
- Google将Linux客户端研发的主力放到中国
- 图像配准(Image Registration)——深度学习方法
热门文章
- 怎么用计算机打分数,电脑excel中分数怎么打出来(图解excel分数输入法)
- 详细介绍Qt,ffmpeg 和SDl 教程之间的联系
- 解决 avformat_alloc_context无法识别的问题
- WINCE的BIB文件解析
- 获取WinCE已加载驱动的信息
- 群晖docker签到京豆_利用Synology(群晖)Docker安装签到框架
- C#进阶之WebAPI(二)
- 第十七节:易混淆的概念(静态和非静态、拆箱和装箱)
- sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**
- c语言3种链接属性: 外部(external), 内部(internal),无设置(none)