414. 第三大的数

给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。

示例 1:

输入:[3, 2, 1]
输出:1
解释:第三大的数是 1 。

示例 2:

输入:[1, 2]
输出:2
解释:第三大的数不存在, 所以返回最大的数 2 。

示例 3:

输入:[2, 2, 3, 1]
输出:1
解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。
此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1 。

思路分析:

首先对数组排序,再对数组进行去重操作,这里采用的是通过集合去重数组。如果数组的长度大于3,通过计数器cnt自加返回cnt++ == 3的数,也就是第三大的数。如果数组的长度小于3,返回最大的数。

代码实现:

public static int thirdMax(int[] nums) {Arrays.sort(nums);List list = new ArrayList<>();for (int i = nums.length-1; i >= 0; i--) {if (!list.contains(nums[i])) list.add(nums[i]);}int cnt = 1;for (int i = 0; i < list.size(); i++) {if (cnt++ == 3)return (int) list.get(i);}return (int) list.get(0);}

提交记录

34 / 34 个通过测试用例

状态:通过

执行用时: 236 ms

内存消耗: 40.9 MB

提交时间:13 小时前

LeetCode每日一题——Day1相关推荐

  1. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  2. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  3. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  4. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  5. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  6. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  7. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

  8. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

  9. LeetCode每日一题打卡组队监督!刷题群!

    近 2000 人已经加入共同刷题啦! 群友每天都会在群里给大家讲解算法题 每周日「负雪明烛」组织直播讲题 我相信来看我博客的大部分人都是通过LeetCode刷题过来的.最近发现LeetCode中文网站 ...

最新文章

  1. Git 修改用户名和邮箱
  2. 21个深度学习调参技巧,一定要看到最后一个
  3. BZOJ 2326 数学作业(分段矩阵快速幂)
  4. Oracle 11g 之自动收集统计信息
  5. 分组查询最晚一条数据(ORACLE)
  6. android活动开始,android – 点击谷歌地图标记infoWindow开始活动
  7. 荣耀20s真机谍照曝光:开孔全面屏+后置竖排三摄
  8. SpringMVC+Thymeleaf如何处理URL中的动态查询参数
  9. 针对unicode对象---检测字符串是否只由数字组成
  10. AIDE手机编程初级教程(零基础向) 引入篇
  11. 二次元日系游戏制作工具 - live2dSDK入门教程
  12. 读书笔记:Sheldon.M.Ross:概率论基础教程:2014.01.22
  13. linux系统配置Vim命令,怎么在LINUX操作系统中安装和配置VIM?
  14. Firefox,IE5,IE6,IE5.5等浏览器兼容性解决方法
  15. 时间格式 yyyy-MM-dd'T'HH:mm:ss.SSSZ 中的T和Z表示什么
  16. 怎么用计算机计算性别的公式,测男女的计算公式测了下挺准的
  17. 机器学习之Javascript篇: 近邻(k-nearest-neighbor) 算法介绍
  18. 巴西龟饲养日志----春日野采
  19. canvas中如何设置渐变色
  20. mysql删除表主键约束_MySQL添加约束

热门文章

  1. 7-4 接话茬 (20分)
  2. vimdiff对比文件夹
  3. 同步,异步,并行概念的歪解
  4. 固定资产月结\年结流程
  5. 二进制枚举子集的方法
  6. 计算身体质量指数BMI
  7. Microsoft Office InfoPath 2003 简介
  8. 分享35个ASP源码,总有一款适合您
  9. 【图像分割】基于布谷鸟算法实现二维Tsallis熵、kapur、oust多阈值图像分割附matlab代码
  10. 入侵检测(IDS)技术知识小结