[LeetCode] 414.第三大的数(Java)

[LeetCode] 414.第三大的数(Java)

1.题目描述

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

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

2.解题思路

先排序,倒着遍历并记录非重复的数据在hash表中,取第三次的即为第三大的数。

3.解法

class Solution {public int thirdMax(int[] nums) {int len = nums.length;Arrays.sort(nums);Map<Integer, Integer> map = new HashMap<>();int time = 1;for (int i = len - 1; i > -1; i--){if (!map.containsKey(nums[i]))map.put(nums[i], time++);if (time > 3)return nums[i];}return nums[len - 1];}
}

4.技能点

hash表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10 4k分屏 eclipse等工具打开后按钮图标大小问题解决方案

1、打开显示设置 2、打开eclipse属性、直接上图&#xff1a;

python用海伦公式求面积_Python:平面直角坐标系下用三点求所构三角形面积

我使用了一种特殊方式&#xff0c;计算平面直角坐标系下三点所构成&#xff08;如果可行的话&#xff09;的三角形的面积。这个方法&#xff0c;不同於常见的海伦公式。设此三点坐标分别为&#xff1a;算出最大最小的 与 &#xff0c;并根据三点坐标&#xff0c;虚构出一个矩形…

[LeetCode] 628. 三个数的最大乘积(Java)

[LeetCode] 628. 三个数的最大乘积(Java) 1.题目描述 给你一个整型数组 nums &#xff0c;在数组中找出由三个数组成的最大乘积&#xff0c;并输出这个乘积。 示例 1&#xff1a;输入&#xff1a;nums [1,2,3] 输出&#xff1a;6 示例 2&#xff1a;输入&#xff1a;nums …

[INS-30131] 执行安装程序验证所需的初始设置失败。

安装oracle11g或12C碰到“无法访问临时位置”的问题&#xff0c;详细信息如下&#xff1a; [INS-30131]执行安装程序验证所需的初始设置失败&#xff08;原因&#xff1a;无法访问临时位置&#xff09; 操作 - 请确保当前用户具有访问临时位置所需的权限。 解决方案1&#xff…

iview select 怎么清空_iView各种组件清空重置

表单注意事项&#xff1a; prop属性要和表单对象中的属性名一致html:重置js:data () {return {formFilter: {},}},methods: {handleReset (name) {// 或者手动将各个属性置空this.$refs[name].resetFields()}}穿梭框html: 首先通过ref获取到穿梭框ref"refTransfer"&g…

Navicat连接Mysql 8.0.16报错:Client does not support authentication protocol requested by server?

解决方法的命令如下&#xff1a; 切换到mysql安装目录下 &#xff1a;C:\Program Files\MySQL\MySQL Server 8.0\bin 登录进去执行以下命令 use mysql; alter user rootlocalhost identified with mysql_native_password by ********; flush privileges;

[LeetCode] 645. 错误的集合(Java)

[LeetCode] 645. 错误的集合(Java) 1.题目描述 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代…

android 结束if循环_(第五讲)if 分支语句和 while 循环

本文首发于微信公众号「烽哥带你学Android」&#xff0c;工作日每日更新1x0 switch 分支语句昨天我们最后学习了分支结构中的 if 条件语句。其实和 if 条件语句还有个兄弟 —— switch 分支语句。switch 语句由一个控制表达式和多个 case 标签组成。看到一堆 case 标签了吧&…

[LeetCode] 697. 数组的度(Java)

[LeetCode] 697. 数组的度(Java) 1.题目描述 给定一个非空且只包含非负数的整数数组 nums&#xff0c;数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组&#xff0c;返回其长度。 示例 1&#xff…

判断输入的日期字符串是否小于当前日期

package com.wonders; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * 日期公共处理类 * author Liyongyong * */ public class DateUtils { /** * 判断是否是过去的日期 * para…

[LeetCode] 448. 找到所有数组中消失的数字(Java)

[LeetCode] 448. 找到所有数组中消失的数字(Java) 1.题目描述 给你一个含 n 个整数的数组 nums &#xff0c;其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字&#xff0c;并以数组的形式返回结果。 示例 1&#xff1a;输入&#xf…

饥荒联机版连不上服务器_饥荒联机版无法连接klei服务器及刷不出服务器解决方法一览...

其实有时候连不上klei服务器和刷新不出服务器列表&#xff0c;是dns的问题。尤其一些三级宽带&#xff0c;像什么某城&#xff0c;某博士。就是被解析到了一个无法连通的服务器上。这时候换dns服务器&#xff0c;或者刷新dns缓存&#xff0c;直到找到一个能连通的服务器&#x…

Oracle12c部署,允许远程访问

Oracle的版本及类型&#xff1a;12c Oracle本地访问host为localhost&#xff0c;和其他关系型数据库mysql&#xff0c;sql server一样&#xff0c;Oracle远程访问同样需要修改host等参数。 因此&#xff0c;在部署Oracle前&#xff0c;需要确认的事只有一个&#xff1a;确保安…

renrenfast开源项目打包过程,前端使用vue element-UI,前后端分离,打包为一个jar包运行

项目使用的是renrenfast2.0 框架&#xff0c;后台springboot&#xff0c;前端vueelement-ui。项目本身有shiro拦截机制&#xff0c;需要放开static路径下文件&#xff0c;才可以访问。 步骤如下&#xff1a; 1.前端&#xff1a;npm run build (1)在dist目录下有3个文件&…

opencv对图像是软解码_C ++ OpenCV解码缓慢

I send a byte array of an image from C# to a C Library. I decode the image with OpenCV (Version 3.3.1) BMP images are fast in decoding but JPEG images are slow.How i can speed up the decoding time for JPEG images? (Multithreading, GPU, ...?)Performance o…

[算法] 原地哈希算法(Java)

[算法] 原地哈希算法(Java) 1.定义 原地哈希算法是指将原数组当成哈希表, 不开辟额外空间. 2.适用条件 原数组总所有数字范围都不超过数组长度, 也就是,给定一个数组nums, 原地哈希应用范围为[0, nums.length], 将数组元素本身作为nums的下标,也就是, nums[nums[i]]. 3.举…

[LeetCode] 442. 数组中重复的数据(Java)

[LeetCode] 442. 数组中重复的数据(Java) 1.题目描述 给你一个长度为 n 的整数数组 nums &#xff0c;其中 nums 的所有整数都在范围 [1, n] 内&#xff0c;且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数&#xff0c;并以数组形式返回。 你必须设计并实现一个…

python中的bs4怎么导入_在Python 3.5导入BS4

I have installed both Python 3.5 and Beautifulsoup4. When I try to import bs4, I get the error below. Is there any fix for that? Or should I just install Python 3.4 instead?Please be very explicit - I am new to programming. Many thanks!Traceback (most re…

通过stream去重_Java 8 Stream.distinct() 列表去重的操作

在这篇文章里,我们将提供Java8 Stream distinct()示例。 distinct()返回由该流的不同元素组成的流。distinct()是Stream接口的方法。 distinct()使用hashCode()和equals()方法来获取不同的元素。因此,我们的类必须实现hashCode()和equals()方法。 如果distinct()正在处理有序…