LeetCode hot100-74

https://leetcode.cn/problems/kth-largest-element-in-an-array/description/?envType=study-plan-v2&envId=top-100-liked

215. 数组中的第K个最大元素
已解答
中等
相关标签
相关企业
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。

这题的解法在leetcode评论区里找的

这个快排写得比较简洁。是从大到小排的。就找前面的第k-1个位置就行。用rand作为枢纽也可以加速。

class Solution {Random rand=new Random();public int findKthLargest(int[] nums, int k) {return quickSort(nums,k,0,nums.length-1);}private int quickSort(int[] nums,int k,int left,int right){int index=rand.nextInt(right-left+1)+left;int flag=nums[index];nums[index]=nums[left];int i=left,j=right;while (i<j){while (i<j&&nums[j]<=flag) j--;nums[i]=nums[j];while (i<j&&nums[i]>=flag) i++;nums[j]=nums[i];}nums[i]=flag;if (i==k-1) return nums[i];else if (i<k-1) return quickSort(nums,k,i+1,right);else return quickSort(nums,k,left,i-1);}
}

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

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

相关文章

Python爬虫之Selenium的应用

【1】Selenium基础介绍 1.什么是selenium&#xff1f; &#xff08;1&#xff09;Selenium是一个用于Web应用程序测试的工具。 &#xff08;2&#xff09;Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 &#xff08;3&#xff09;支持通过各种driv…

MySQL 存储过程与函数:增强数据库功能

一、MySQL 存储过程与函数概述 &#xff08;一&#xff09;存储过程的定义与特点 存储过程是一组预编译的 SQL 语句集合&#xff0c;它们被存储在数据库中&#xff0c;可根据需要被重复调用。例如&#xff0c;在一个电商系统中&#xff0c;经常需要查询某个时间段内的订单数据…

【超详细实战攻略】Jmeter逻辑控制器中if控制器、模块控制器、测试片段的使用方法

【超详细实战攻略】Jmeter逻辑控制器中if控制器、模块控制器、测试片段的使用方法 1 搭建测试对象1.1 禅道下载1.2 禅道安装1.3 运行禅道1.4 接口查看1.5 接口选择 2 Jmeter前置操作2.1 创建Jmeter线程组2.2 创建信息头管理器和请求默认值2.3 添加获取token接口2.4 添加监听器 …

【前端面试题】变量提升、闭包、promise

飞书面试 题目1&#xff1a; async function foo() {console.log(foo start);await bar();console.log(foo end); }async function bar() {console.log(bar start);return new Promise((resolve, reject) > {setTimeout(() > {console.log(bar promise);resolve();}, 1…

【Mysql】索引下推、索引合并详解

文章目录 1. 索引下推&#xff08;Index Condition Pushdown, ICP&#xff09;定义工作机制实现过程优化的典型场景 2. 索引合并&#xff08;Index Merge&#xff09;定义索引合并方式使用限制 3. 对比与应用场景选用建议 这篇文章就简单的给大家介绍下索引下推、索引合并 1. 索…

智能时代的基石:神经网络

智能时代的基石&#xff1a;神经网络 第一节&#xff1a;神经网络简介 课程目标 本节课程旨在全面介绍神经网络的基本概念、结构以及其在历史发展中的重要里程碑。通过深入理解神经网络的工作原理和演变过程&#xff0c;学员将能够掌握神经网络在现实世界中的多种应用&#…

8_Sass 颜色函数 --[CSS预处理]

Sass 提供了一系列的颜色函数&#xff0c;允许开发者在 CSS 中动态地创建和操作颜色。这些函数可以用于生成调色板、调整颜色的亮度或饱和度、混合颜色等&#xff0c;从而提高样式表的灵活性和可维护性。以下是 Sass 中一些常用的颜色函数及其用法示例&#xff1a; 1. adjust-…

java和go语言的优劣

Java 和 Go 是两种非常流行的编程语言&#xff0c;各自拥有独特的特性和优势。它们在不同的应用场景中表现出色&#xff0c;选择哪种语言取决于具体的项目需求、团队技能以及个人偏好。下面我们将从多个维度对比 Java 和 Go 的优劣&#xff0c;帮助您更好地理解这两种语言的特点…

【力扣算法】234.回文链表

快慢指针&#xff1a;一个指针走两步&#xff0c;一个指针走一步&#xff0c;当快指针走到链表末尾时&#xff0c;慢指针走到中间位置。 逆转链表&#xff1a;根据指针位置分成两个表&#xff0c;逆转第二个表。 按序判断就可以&#xff0c;如果是相同就是回文&#xff0c;反之…

ThreadLocal内存泄漏数据脏读问题

ThreadLocal是Java中的一个类&#xff0c;用于解决多线程环境下的并发问题。以下是对ThreadLocal的详细解释&#xff1a; 定义&#xff1a; ThreadLocal&#xff0c;即线程局部变量&#xff0c;是Java提供的一种线程隔离的变量存储机制。每个线程都会有一个独立的ThreadLocal变…

工业大数据分析算法实战-day04

文章目录 day04统计分析概率分布参数估计假设检验 统计分布拟合1.基于核函数的非参数方法2. 单概率分布的参数化拟合3. 混合概率分布估计 线性回归模型1. OLS模型&#xff08;普通最小二乘法&#xff09;2. OLS模型检验3. 鲁棒线性回归4. 结构复杂度惩罚&#xff08;正则化&…

vue3-tp8-Element:对话框实现

效果 参考框架 Dialog 对话框 | Element Plus 具体实现 一、建立view页面 /src/views/TestView.vue 二、将路径写入路由 /src/router/index.js import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vueconst router create…

VMware ESXi上创建Ubuntu虚拟机并实现远程SSH访问全攻略

文章目录 前言1. 在VMware ESXI中创建Ubuntu虚拟机2. Ubuntu开启SSH远程服务3. 安装Cpolar工具4. 使用SSH客户端远程访问Ubuntu5. 固定TCP公网地址 前言 本文主要介绍如何在VMware ESXi上创建一台Ubuntu 22.04虚拟机&#xff0c;并通过Cpolar内网穿透工具配置公网地址&#xf…

HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构

HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构 效果图DRAWTEXTREL示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont DRAWTEXTABS示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont 效果图 …

【电子元器件】电感基础知识

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时&#xff0c;也能帮助其他需要参考的朋友。如有谬误&#xff0c;欢迎大家进行指正。 一、 电感的基本工作原理 1. 电感的基本工作原理如下&#xff1a; &#xff08;1&#xff09; 当线圈中有电流通过时&#…

ES动态索引——日志es索引数据按月份存储

一、定义ES索引 NoArgsConstructor AllArgsConstructor Data Accessors(chain true) Document(indexName "charge_pile_log" Constants.ES_TIME_DYNAMIC_INDEX) //(索引名称动态&#xff0c;前面固定&#xff0c;后面月份) public class ChargePileLogESDomain {…

大模型的文件有哪些?

在大模型仓库&#xff08;如Hugging Face&#xff09;中&#xff0c;例如&#xff1a;https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files&#xff0c;通常会发现以下几类文件&#xff1a; 模型权重文件&#xff1a;存储训练好的模型参数&#xff0c;是模型推理和微调…

Python pyinstaller图形化打包工具

Python pyinstaller图形化打包工具 1.简介&#xff1a; 一个使用Python PYQT5制作的关于pyinstaller打包工具&#xff0c;代替传统的cmd黑窗口模式打包页面&#xff0c;实现更快捷方便的python打包体验。资源已打包&#xff0c;大家可自行下载。 相关功能&#xff1a; 识别…

canal安装使用

简介 canal [kənl]&#xff0c;译意为水道/管道/沟渠&#xff0c;主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据订阅和消费 工作原理 canal 模拟 MySQL slave 的交互协议&#xff0c;伪装自己为 MySQL slave &#xff0c;向 MySQL master 发送 dump 协议…

专业140+总分400+北京理工大学826信号处理导论考研经验北理工电子信息与通信工程,真题,大纲,参考书。

考研总分400&#xff0c;专业826信号处理导论&#xff08;信号与系统和dsp&#xff09;140&#xff0c;成功上岸北理工&#xff0c;虽然已经一段时间&#xff0c;但是后劲很大&#xff0c;每每回想还是昨日事&#xff0c;群里同学多次要求分享自己的一些经验&#xff0c;感谢大…