当前位置: 首页 > news >正文

面试热题(数组中的第K个最大元素)

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

       提到数组中最大元素,我们往往想到就是先给数组进行排序,然后取最大值,现在我们按照这个思路写一写代码

  • 首先判断入参是否合法
f (nums == null || nums.length == 0) {return 0;}
  • 然后对数组进行排序
Arrays.sort(nums);//默认排序方法时双基准快排,效率较高
  • 因为我们取的是第k个最大的元素

        因为数组的长度是6,而k是2,我们所需要求的值的索引刚好是4,所以我们可以得出我们所需要推出的值是nums.length-k(在做题的过程中,如果需要确定关系式的这种情况,个人建议还是举出例子,然后亲自推导比较好一点)

 return nums[nums.length  - k];

       接下来,提到最大值,大家还能想到什么方法?是不是有种数据结构,特能自动的为我们进行数值的排序,不错,就是优先队列 ,我们可以先将数组中的元素都往优先队列中塞进去,然后poll k次就是我们所需要的值,我们直接上代码

   public int findKthLargest(int[] nums, int k) {if(nums==null||nums.length==0){return 0;}//对比较器进行重写,从大到小,因为PriorityQueue的默认排序时升序排序PriorityQueue<Integer> queue=new PriorityQueue<>((a,b)->{return b -a;});for(int num:nums){queue.offer(num);}int res=0;while(k>0){res=queue.poll();k--;}return res;}

相关文章:

面试热题(数组中的第K个最大元素)

给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 输入: [3,2,1,5,6,4] 和 k 2 输出: 5提到数组中最大元素&#xff0c;我们往往想到就是先给数组…...

HTTP2协议介绍

前言 HTTP是现代互联网通信的基础协议之一&#xff0c;早在1991年&#xff0c;HTTP/0.9版本就诞生了&#xff0c;之后又陆续发布了HTTP/1.0和HTTP/1.1&#xff0c;为互联网应用提供了更高效和可靠的通信方式。 随着时间的推移&#xff0c;互联网的规模和复杂性不断扩大&#x…...

矩阵的转置

题目&#xff1a; 给你一个二维整数数组 matrix&#xff0c; 返回 matrix 的 转置矩阵 。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[[1,4,7],[2,5,8],[3,6,9]]class Solution(object):def transpose(self, matrix):"&q…...

web集群学习:nginx+keepalived实现负载均衡高可用性

目录 项目架构 一&#xff0c;环境介绍 二&#xff0c;项目部署 在Web服务器上配置Web测试页面 nginx负载均衡配置 配置Nginx_Master 通过vrrp_script实现对集群资源的监控&#xff08;1>通过killall命令探测服务运行状态&#xff09; 通过vrrp_script实现对集群资源…...

MFC第二十九天 CView类的分支(以及其派生类的功能)、MFC六大关键技术

文章目录 CView类的分支CEditViewCHtmlViewMainFrm.h CMainFrame 类的接口CMainView .h CListCtrl与CListView的创建原理 CTreeViewCTreeCtrl类简介CTreeCtrl类的原理以及常用功能 MFC六大关键技术视图和带分割栏的框架开发与消息路由CLeftView.cppCRightView.hCRightView.cppC…...

SpringBoot复习:(37)自定义ErrorController

所有接口统一返回的数据格式 package cn.edu.tju.domain;public class MyResponse {private int code;private String message;private String exception;private String stack;public int getCode() {return code;}public void setCode(int code) {this.code code;}public S…...

Linux学习之防火墙概述

防火墙分类&#xff1a; 软件防火墙&#xff1a;常用于数据包的过滤&#xff0c;比如限制某些ip或者端口&#xff0c;进行某些数据的转发或者传送 硬件防火墙&#xff1a;防御地域攻击 软件防火墙的分类&#xff1a; 包过滤防火墙&#xff1a;控制比较宽泛&#xff0c;防御效果…...

JS_围绕圆形滑动

需求&#xff1a;滑动手势最大不能超过一个半径为50的圆形&#xff0c;超出围绕圆形边线滑动 这里只提供一个思路&#xff0c;下面代码可以运行&#xff0c;但是要使用需要改成自己的参数 <div style"width: 100%;height: 100vh;display: flex;justify-content: cente…...

Ubuntu上安装RabbitMQ

在Ubuntu上安装RabbitMQ并设置管理员用户为"admin"&#xff0c;密码为"123456"&#xff0c;并开启开机自启 更新系统软件包列表。在终端中执行以下命令&#xff1a; sudo apt update安装RabbitMQ服务器软件包。运行以下命令&#xff1a; sudo apt insta…...

统计学和机器学习之间的联系和区别

一、说明 老实说&#xff0c;我厌倦了几乎每天都在社交媒体和我的大学里听到这场辩论。通常&#xff0c;这伴随着一些模糊的陈述来解释这个问题。双方都为此感到内疚。我希望在本文结束时&#xff0c;您将对这些有些模糊的术语有更明智的立场。 二、论点 与普遍的看法相反&…...

linux中profile.d和profile的区别

profile.d在profile中加载 profile文件 PATH"/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/scripts:/soc/bin:/soc/scripts" LD_LIBRARY_PATH"/usr/local/lib:/usr/lib:/opt/lib:/soc/lib" export SSL_LDPATH/usr/local/lib/ export ZLIB_LDPATH/usr/lo…...

MobaXterm sftp 不能拖拽文件夹了?

原因是我把mobaxterm设置成Windows管理员权限运行了,结果就不能拖动文件。把管理员权限去掉就恢复正常了。 原因是我把mobaxterm设置成Windows管理员权限运行了,结果就不能拖动文件。把管理员权限去掉就恢复正常了。 原因是我把mobaxterm设置成Windows管理员权限运行了,结果就不…...

【ArcGIS Pro二次开发】(59):Editing(编辑)模块

ArcGIS Pro SDK中的"Editing"&#xff08;编辑&#xff09;模块提供了一系列API和工具&#xff0c;允许开发人员在ArcGIS Pro中实现各种地图数据编辑操作&#xff0c;从简单的要素绘制到复杂的数据集编辑。 下面列举一些常用编辑工具的实现方法。 1、获取所选要素的…...

WebSocket与消息推送

B/S结构的软件项目中有时客户端需要实时的获得服务器消息&#xff0c;但默认HTTP协议只支持请求响应模式&#xff0c;这样做可以简化Web服务器&#xff0c;减少服务器的负担&#xff0c;加快响应速度&#xff0c;因为服务器不需要与客户端长时间建立一个通信链接&#xff0c;但…...

5.1 web浏览安全

数据参考&#xff1a;CISP官方 目录 Web应用基础浏览器所面临的安全威胁养成良好的Web浏览安全意识如何安全使用浏览器 一、Web应用基础 1、Web应用的基本概念 Web ( World wide Web) 也称为万维网 脱离单机Web应用在互联网上占据了及其重要的地位Web应用的发展&#xf…...

(六)Unity开发Vision Pro——词汇表

1.PolySpatial Core (com.unity.polyspatial)&#xff1a;基础 PolySpatial 包&#xff0c;初始化和所有设置从这里开始。它执行更改跟踪和处理、序列化/反序列化&#xff0c;并包括 ShaderGraph 到 MaterialX 转换器 2.PolySpatial XR (com.unity.polyspatial.xr)&#xff1a…...

算法随笔:图论问题之割点割边

割点 定义 割点的定义&#xff1a;如果一个点被删除之后会导致整个图不再是一个连通图&#xff0c;那么这个顶点就是这个图的割点。举例&#xff1a; 上图中的点2就是一个割点&#xff0c;如果它被删除&#xff0c;则整个图被分为两个连通分量&#xff0c;不再是一个连通图。…...

【虚幻引擎】UE5数字人的创建

安装插件 在插件里面找到MetaHuman&#xff0c;设置激活&#xff0c;然后重启引擎 找到bridge&#xff0c;并开启&#xff0c;这个需要我们制作完成的metahuman需要在这个插件里下载&#xff0c;unreal5自动安装 创建metahuman 首先添加一个metahuman本体&#xff0c;如果你的插…...

算法:深度优先遍历

文章目录 什么是深搜典型题目积累 本篇主要积累的是深度优先遍历算法 什么是深搜 深度优先搜索英文缩写为 DFS 即Depth First Search 其过程是对每一个可能的分支路径深入到不能再深入为止&#xff0c;而且每个节点只能访问一次 简单来说就是: 一路走到头&#xff0c;不撞墙…...

Stable Diffusion + Deform制作指南

1.安装sd以及deform插件,更新后记得重启 需要安装ffmpeg https://ffmpeg.org/download.html 选择对应版本然后安装 如果是windows需要解压后将ffmpeg的bin目录配置在电脑的环境变量里面。 2.准备一张初始开始图片 3.填写参数,这里面参数要注意,宽高一定是32的倍数。如果填写…...

4大核心能力解锁文本价值:KH Coder开源工具全攻略

4大核心能力解锁文本价值&#xff1a;KH Coder开源工具全攻略 【免费下载链接】khcoder KH Coder: for Quantitative Content Analysis or Text Mining 项目地址: https://gitcode.com/gh_mirrors/kh/khcoder 在信息爆炸的时代&#xff0c;如何从海量文本中快速提取关键…...

WSL2网络问题终极指南:固定IP+代理配置解决Ubuntu子系统断网烦恼

WSL2网络优化全攻略&#xff1a;从IP固定到无缝代理配置 每次重启WSL2都要重新配置代理&#xff1f;开发到一半突然断网&#xff1f;作为深度依赖WSL2的开发者&#xff0c;这些网络问题简直让人抓狂。今天我们就来彻底解决这个痛点&#xff0c;让你的Ubuntu子系统拥有堪比物理机…...

Ubuntu 20.04下ROS安装全记录:从rosdep初始化失败到成功配置的完整流程

Ubuntu 20.04下ROS安装全攻略&#xff1a;从rosdep初始化到环境配置的深度实践 在机器人操作系统&#xff08;ROS&#xff09;的学习和开发过程中&#xff0c;环境搭建往往是新手面临的第一个挑战。特别是当遇到rosdep init和update命令失败时&#xff0c;很多开发者都会感到困…...

浏览器个性化完全指南:用Greasy Fork打造专属上网体验

浏览器个性化完全指南&#xff1a;用Greasy Fork打造专属上网体验 【免费下载链接】greasyfork An online repository of user scripts. 项目地址: https://gitcode.com/gh_mirrors/gr/greasyfork 每天打开浏览器&#xff0c;面对千篇一律的网页界面和无处不在的广告&am…...

3大场景攻克显卡驱动残留:DDU深度清理技术全指南

3大场景攻克显卡驱动残留&#xff1a;DDU深度清理技术全指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller …...

Qwen3-TTS多线程代码骨架:复用模型实例,节省80%显存

Qwen3-TTS多线程代码骨架&#xff1a;复用模型实例&#xff0c;节省80%显存 1. 多线程语音生成的必要性 语音合成技术在实际应用中往往面临批量处理的需求。以教育行业为例&#xff0c;一套完整的在线课程可能需要生成数百个不同语言、不同风格的语音片段。传统单线程处理方式…...

基于Chord和LSTM的时序行为分析:运动员动作识别实战

基于Chord和LSTM的时序行为分析&#xff1a;运动员动作识别实战 1. 体育训练正面临一场静悄悄的变革 上周去健身房&#xff0c;看到一位教练用手机拍下学员深蹲的动作&#xff0c;然后打开一个工具反复回放、暂停、比对标准动作。他告诉我&#xff1a;“以前要靠眼睛盯&#…...

霜儿模型惊艳作品背后的Transformer架构原理浅析

霜儿模型惊艳作品背后的Transformer架构原理浅析 每次看到霜儿模型生成的汉服人像&#xff0c;那种精致的发髻、飘逸的衣袂、繁复而考究的纹样&#xff0c;都让人忍不住惊叹。它似乎真的“懂”汉服&#xff0c;知道云肩该搭配什么袖型&#xff0c;知道马面裙的褶子该怎么画才自…...

SecGPT-14B保姆级教程:开源网络安全大模型GPU高效部署全流程

SecGPT-14B保姆级教程&#xff1a;开源网络安全大模型GPU高效部署全流程 1. 开篇&#xff1a;为什么你需要一个“懂安全”的AI助手&#xff1f; 想象一下&#xff0c;你正在分析一个复杂的网络攻击日志&#xff0c;面对海量的告警和模糊的线索&#xff0c;感觉像在大海里捞针…...

Qwen3-VL-8B多模态工具入门实战:图片上传+智能问答全流程

Qwen3-VL-8B多模态工具入门实战&#xff1a;图片上传智能问答全流程 1. 为什么选择Qwen3-VL-8B&#xff1f; 在当今AI技术快速发展的时代&#xff0c;多模态模型正在改变我们与计算机交互的方式。Qwen3-VL-8B作为一款强大的本地多模态交互工具&#xff0c;特别适合需要处理图…...