本文主要研究一下leetcode之第三大的数

题目

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。存在两个值为2的数,它们都排第二。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/third-maximum-number著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

class Solution {    public int thirdMax(int[] nums) {        int max1 = Integer.MIN_VALUE;        int max2 = Integer.MIN_VALUE;        int max3 = Integer.MIN_VALUE;        int duplicatedCount = 0;        for(int num : nums) {            if (num == max1 || num == max2 || num == max3) {                if (num != Integer.MIN_VALUE) {                    duplicatedCount++;                }                continue;            }            if (num > max1) {                max3 = max2;                max2 = max1;                max1 = num;                continue;            }             if (num > max2) {                max3 = max2;                max2 = num;                continue;            }            if (num > max3) {                max3 = num;            }        }        if ((nums.length  

小结

这里依次维护最大,第二大,第三大的数字,遍历数组判断元素值是否大于最大值或者第二大值或者第三大的值,然后对应更新相应的值。

doc

  • 第三大的数

ajax 最大链接数_leetcode之第三大的数相关推荐

  1. leetcode|第三大的数java题解

    由于在面试作业帮.好未来侧开实习面试的时候都被问到了这道题,所以我就来写个题解吧 给你一个非空数组,返回此数组中 第三大的数 .如果不存在,则返回数组中最大的数. 示例 1: 输入:[3, 2, 1] ...

  2. C#LeetCode刷题之#414-第三大的数(Third Maximum Number)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3710 访问. 给定一个非空数组,返回此数组中第三大的数.如果不存 ...

  3. [Swift]LeetCode414. 第三大的数 | Third Maximum Number

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. 【LeetCode】414. 第三大的数

    给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1]输出: 1解释: 第三大的数是 1. 示例 2: ...

  5. 【LeetCode】414.第三大的数

    题目描述 给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 ...

  6. LeetCode Algorithm 414. 第三大的数

    414. 第三大的数 Ideas emmmm,内置排序算法YYDS,三行代码解决. Code C++ class Solution {public:int thirdMax(vector<int ...

  7. 414. 第三大的数

    给你一个非空数组,返回此数组中 第三大的数 .如果不存在,则返回数组中最大的数 方法一 首先将数组排序,然后通过集合去除重复的元素,最后进行一次判断,选择第三大元素还是最大元素 class Solut ...

  8. leetcode414. 第三大的数

    给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...

  9. CSS、JavaScript和Ajax实现图片预加载的三大方法及优缺点分析

    预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画 廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发 ...

最新文章

  1. 三巨头对中国人工智能技术的支撑性作用
  2. python3与python2的编码问题
  3. Java开发中消息中间件的优势有哪些?
  4. linq 清除一条数据中的某个字段值_B端通用批量数据导入方案设计
  5. 如何用chrome扩展将网页变成黑底白字,用以保护视力
  6. 北京计算机专业非全日制用工招聘系统,北京市公安局招录
  7. 用fast rcnn绘制loss曲线遇到的问题
  8. 【本人秃顶程序员】Java程序员成长三部曲!
  9. Python面试题解析之网络编程与并发
  10. amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
  11. qtcpserver无法启动监听_EOS基础全家桶(四)启动节点
  12. VC被控制时关闭极域电子教室、破解联想硬盘保护系统密码(上)
  13. rstudio导入txt文件_R语言 | 读写txt、csv、excel文件
  14. Linux EXPORT_SYMBOL宏详解
  15. 百度云智学院云计算在线认证考试课程纲要与重点,考前必看!
  16. ArcGIS学习总结(三)——空间分析基本操作
  17. 《小狗钱钱》读书笔记
  18. 上课笔记、HTML简介
  19. Python 函数代码示例
  20. Linuxprobe,红帽linux网络课程学习贴 -17

热门文章

  1. 动态sql语句返回值
  2. linux fedora35设置双系统开机启动顺序
  3. nfs数据同步备份:多节点nfs共享(mount)server节点数据
  4. harbor 2.0.1安装部署
  5. Scala模式匹配:对象匹配
  6. Python Django 参数解包及代码示例
  7. Hystrix全局配置默认超时时间
  8. JVM 调优实战--垃圾回收的常见算法
  9. Freemarker基于模板字符串生成静态化html文件
  10. TabLayout+ViewPager实现选项卡动态滑动效果