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

LeetCode刷题:找到第K大的元素

本题其实就是考察排序算法,为了减低时间复杂度,所以采用堆排序
 

import java.security.Key;
import java.util.Scanner;public class FindKtopElements {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String line = scanner.nextLine();int k = scanner.nextInt();String[] strArrary = line.split(" ");int[] intArrary = new int[strArrary.length];for (int i=0;i<intArrary.length;i++){intArrary[i] = Integer.parseInt(strArrary[i]);}//todo:排序(升序)int result = k_max(intArrary, k);System.out.print(result);}//使用堆排序实现数组排序private static int k_max(int[] arary, int k) {headSort(arary);return arary[arary.length-k];}private static void headSort(int[] arary) {int n=arary.length;//从最后非叶子节点构建大根堆for(int i=n/2-1;i>=0;i--){headBuild(arary,n,i);}//首尾交换后,从根结点重构大根堆for(int i=n-1;i>0;i--){int temp =arary[0];arary[0]=arary[i];arary[i]=temp;headBuild(arary,i,0);}}//构建大根堆private static void headBuild(int[] arary, int n, int i) {int largest=i;int left=2*i+1;int right=2*i+2;if (left<n && arary[left]>arary[largest]){largest=left;}if (right<n && arary[right]>arary[largest]){largest=right;}if(largest !=i){int temp=arary[i];arary[i]=arary[largest];arary[largest]=temp;headBuild(arary,n,largest);}}}

相关文章:

LeetCode刷题:找到第K大的元素

本题其实就是考察排序算法&#xff0c;为了减低时间复杂度&#xff0c;所以采用堆排序 import java.security.Key; import java.util.Scanner;public class FindKtopElements {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String lin…...

HTML页面配置高德地图,获取位置

HTML页面配置高德地图&#xff0c;获取位置 一、使用情况 1、之前项目用的前后端分离框架&#xff0c;所以用Vue接入的高德地图&#xff0c;自动搜索补全&#xff0c;是请求的后台返回的数据。 2、现在用单体项目&#xff0c;前端是Bootstrap&#xff0c;需要接高德地图&…...

HTTrack

--不破不立 HTTrack 是一个免费开源的网站离线浏览器。通过它可以将整个网站下载到本地的某个目录&#xff0c;包括 html、图片和脚本以及样式文件&#xff0c;并对其中的链接进行重构以便于在本地进行浏览。 1.官网下载地址&#xff1a;https://www.httrack.com/page/2/en/in…...

干货分享|分享一款微软出品的工作效率神器 PowerToys

工具介绍&#xff1a;Microsoft PowerToys 是一组实用工具&#xff0c;可帮助高级用户调整和简化其 Windows 体验&#xff0c;从而提高工作效率。 安装步骤&#xff1a;直接打开微软商店安装即可&#xff0c;并且可以保证下载到最新版本。 功能介绍&#xff1a; 高级粘贴 高级…...

神经网络的线性部分和非线性部分

神经网络的线性部分和非线性部分是其构成中的两个核心元素&#xff0c;它们共同决定了模型的能力和行为。让我们分别看一下这两部分&#xff1a; 1. 线性部分 线性部分通常是指神经网络中的加权和操作。这部分可以用以下形式表示&#xff1a; [ z W \cdot x b ] W 是权重…...

微信支付开发避坑指南

1 微信支付的坑 1.1 不能用前端传递过来的金额 订单的商品金额要从数据库获取&#xff0c;前端只传商品 id。 1.2 交易类型trade type字段不要传错 v2版API&#xff0c;不同交易类型&#xff0c;要调用的支付方式也不同。 1.3 二次签名 下单时&#xff0c;在拿到预支付交…...

Qt5.4.1连接odbc驱动操作达梦数据库

Qt5.4.1连接odbc驱动操作达梦数据库 1 环境介绍2 Qt5.4.1 安装2.1 图形化界面安装Qt5.4.12.2 配置Qt5.4.1 环境变量2.3 Qt5.4.1 生成 libqsqlodbc.so 并配置2.3.1 生成Makefile2.3.2 查看 libqsqlodbc.so 文件并配置 3 配置Qt测试用例4 达梦数据库学习使用列表 1 环境介绍 CPU…...

计算机组成原理(第一课)

计算机系统概述 1.发展史 摩尔定律&#xff1a;集成电路上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍 2.操作系统组成 存储程序程序控制 五个部分记住&#xff1a; 输入输出功能 I/O 记忆功能 访问 计算功能 计算 判断功能 判断 自我控制功能 自我控制…...

计算机网络练级第一级————认识网络

目录 网络搁哪&#xff1f; 网络的发展史&#xff08;了解&#xff09; 独立模式&#xff1a; 网络互联&#xff1a; 局域网时期&#xff1a; 广域网时期&#xff1a; 什么是协议 TCP/IP五层/四层模型 用官话来说&#xff1a; 我自己的话来说 第一层应用层&#xff1…...

Java基于微信小程序的家庭财务管理系统,附源码

博主介绍&#xff1a;✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不…...

P2343 宝石管理系统

不会写平衡树怎么办&#xff0c;可以用STL的vector或者是pb_ds&#xff0c;这个东西太乱&#xff0c;还是STL好用 #include<bits/stdc.h> using namespace std; int read() {int x 0, f 1;char ch getchar();while (ch < 0 || ch > 9) {if (ch -) f -1;ch g…...

Spring6梳理6——依赖注入之Setter和构造器注入

以上笔记来源&#xff1a; 尚硅谷Spring零基础入门到进阶&#xff0c;一套搞定spring6全套视频教程&#xff08;源码级讲解&#xff09;https://www.bilibili.com/video/BV1kR4y1b7Qc 目录 一、引言 二、Java方法初始化过程 2.1 set方法及构造器方法实现Book对象初始化 三…...

【C++】C++入门基础,详细介绍命名空间,缺省参数,函数重载,引用,内联函数等

目录 1. 命名空间 1.1 使用命名空间的目的 1.2 命名空间定义 1.3 命名空间使用 2. 缺省参数 2.1 缺省参数概念 2.2 缺省参数分类 2.3 实际案例 2.4 注意事项 3. 函数重载 3.1 函数重载概念 3.2 函数重载原理 4. 引用 4.1 引用的概念 4.2 引用的特性 4.3 使用…...

Android使用Room后无法找到字符BR

一般来讲&#xff0c;无法找到BR字符多与Data Binding 相关。 在 Android Studio 中使用 Data Binding 时&#xff0c;如果突然出现 “BR 文件不可用” 或 “找不到符号 BR” 的错误&#xff0c;可能是由以下原因造成的&#xff1a; Data Binding 未启用&#xff1a;确保在你的…...

网络通讯安全基础知识(加密+解密+验签+证书)

1、加密解密基本概念 通讯的加密和解密‌主要涉及将原始信息&#xff08;明文&#xff09;转换为不可直接理解的格式&#xff08;密文&#xff09;&#xff0c;以及将密文还原为原始信息的过程。这一过程通常包括三个基本步骤&#xff1a;加密、传输和解密&#xff0c;其中加密…...

[数据集][目标检测]石油泄漏检测数据集VOC+YOLO格式6633张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6633 标注数量(xml文件个数)&#xff1a;6633 标注数量(txt文件个数)&#xff1a;6633 标注…...

【Oracle篇】全面理解优化器和SQL语句的解析步骤(含执行计划的详细分析和四种查看方式)(第二篇,总共七篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…...

都2024年了还不明白Redis持久化?RDB文件、AOF文件、AOF重写

都2024年了&#xff0c;不会还有人不知道redis的RDB和Aof吧&#xff1f;不知道没关系&#xff0c;看完这篇文章我相信你就会有个大概的了解和认识了 1. Redis持久化 1.1 持久化概念 Redis本身是一个基于内存的数据库&#xff0c;它提供了RDB持久化、AOF持久化两种方式&#…...

浅谈Unity协程的工作机制

一. 什么是协程 协程概述 在 Unity 中&#xff0c;协程&#xff08;Coroutine&#xff09;是一种非常常用的机制&#xff0c;用于非阻塞地处理需要跨越多个帧、等待某些条件或延迟一段时间才能完成的任务。Unity 的协程通过 C# 的 IEnumerator 和 yield return 实现&#xff0…...

数学建模_数据预处理流程(全)

数据预处理整体流程图 一般数据预处理流程 处理缺失值&#xff1a;填补或删除缺失值。处理异常值&#xff1a;检测并处理异常值。数据编码&#xff1a;将分类变量进行标签编码或独热编码。数据标准化/归一化&#xff1a;对数据进行标准化或归一化处理。连续变量离散化&#xff…...

OpenCV实战:从相机响应函数(CRF)到HDR图像合成的完整流程解析

1. 相机响应函数(CRF)基础解析 第一次听说相机响应函数(CRF)时&#xff0c;我也是一头雾水。简单来说&#xff0c;CRF就是描述相机如何把真实世界的光线强度(L)转换成图像像素值(B)的数学关系。想象一下&#xff0c;你拿着手机对着同一个场景拍三张照片&#xff1a;一张很暗、一…...

从编译到定制:WinSCP全流程开发指南

从编译到定制&#xff1a;WinSCP全流程开发指南 【免费下载链接】winscp WinSCP is a popular free file manager for Windows supporting SFTP, FTP, FTPS, SCP, S3, WebDAV and local-to-local file transfers. A powerful tool to enhance your productivity with a user-fr…...

用Python和Geogebra手把手复现阿克曼转向模型(附完整代码与可视化)

用Python和Geogebra手把手复现阿克曼转向模型&#xff08;附完整代码与可视化&#xff09; 在自动驾驶和机器人领域&#xff0c;理解车辆如何转向是基础中的基础。但当你第一次看到那些复杂的公式时&#xff0c;是不是感觉像在看天书&#xff1f;别担心&#xff0c;今天我们就用…...

如何快速访问AO3镜像站:新手必看的5个实用技巧

如何快速访问AO3镜像站&#xff1a;新手必看的5个实用技巧 【免费下载链接】AO3-Mirror-Site 项目地址: https://gitcode.com/gh_mirrors/ao/AO3-Mirror-Site Archive of Our Own&#xff08;AO3&#xff09;是全球最大的同人创作平台&#xff0c;但部分地区访问受限。…...

告别大模型幻觉!RAG 原理 + Spring AI 代码实现一步到位

RAG 诞生背景&#xff1a;大模型原生缺陷 LLM 存在 3 个无法自愈的问题&#xff0c;这是 RAG 技术的核心出发点&#xff1a; LLM存在幻觉现象, 生成无事实依据、虚假编造的内容LLM知识更新缓慢, 预训练数据固定&#xff0c;无法同步新数据 / 私有数据LLM对领域知识的理解有限, …...

告别环境配置烦恼:在Windows上通过VSCode与ESP-IDF快速搭建ESP32开发环境

1. 为什么选择VSCodeESP-IDF开发ESP32&#xff1f; 作为一个从Arduino转向ESP32开发的过来人&#xff0c;我深刻理解新手在环境配置上的痛苦。传统方法需要手动安装Python、Git、交叉编译工具链等十多个组件&#xff0c;光是处理环境变量冲突就能让人崩溃一整天。直到发现VSCod…...

3步搞定YOLO人脸检测:从零到生产级应用的完整实践指南

3步搞定YOLO人脸检测&#xff1a;从零到生产级应用的完整实践指南 【免费下载链接】yolo-face YOLO Face &#x1f680; in PyTorch 项目地址: https://gitcode.com/gh_mirrors/yo/yolo-face YOLO人脸检测技术正在改变计算机视觉应用的开发方式&#xff0c;无论你是想构…...

react为啥不像vue3一样做diff优化(双端diff和最长递增子序列)

React 不是不能做 LIS / 双端 Diff&#xff0c; 而是 React 的架构目标 不追求 DOM 最优&#xff0c;追求调度最优 所以它故意不做 Vue 那套极致 Diff 优化。 一、先给结论&#xff08;面试直接说&#xff09; React 不做极致 Diff 优化&#xff0c;是因为它的架构方向是&…...

数据主权时代,企业即时通讯厂商选型推荐

BeeWorks作为企业级私有化 IM&#xff0c;主打安全可控、深度协同、信创适配&#xff0c;在政企、军工、金融等强合规场景口碑突出。BeeWorks 定位为安全专属数字化协作平台&#xff0c;核心是私有化部署 全链路安全 业务深度融合&#xff0c;区别于通用 SaaS IM。1. 核心架构…...

Thanos.sh安全使用手册:避免数据灾难的10个终极技巧

Thanos.sh安全使用手册&#xff1a;避免数据灾难的10个终极技巧 【免费下载链接】Thanos.sh if you are Thanos(root), this command could delete half your files randomly 项目地址: https://gitcode.com/gh_mirrors/th/Thanos.sh Thanos.sh是一款以"随机删除一…...