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

NC 寻找第K大

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


描述
有一个整数数组,请你根据快速排序的思路,找出数组中第 k 大的数。

给定一个整数数组 a ,同时给定它的大小n和要找的 k ,请返回第 k 大的数(包括重复的元素,不用去重),保证答案存在。
在这里插入图片描述

import java.util.*;public class Solution {public int findKth(int[] a, int n, int K) {return quickSort(a, 0, a.length - 1, K);}private int quickSort(int[] arr, int left, int right, int k){int p = partition(arr, left, right);// 改进后,很特殊的是,p是全局下标,只要p对上topK坐标就可以返回if (p == arr.length - k) {return arr[p];}else if (p < arr.length - k) {// 如果基准在左边,这在右边找return quickSort(arr, p + 1, right,k);}else {return quickSort(arr, left, p - 1,k);}}private int partition(int[] arr, int left, int right) {// 可优化成随机,或中位数int key = arr[left];while (left < right) {while (left < right && arr[right] >= key) right--;arr[left] = arr[right];while (left < right && arr[left] <= key) left++;arr[right] = arr[left];}arr[left] = key;return left;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • java进阶学习路线
  • 基于Python自动连接汕头大学校园网
  • 媒体服务zlmediakit系统架构图
  • python安装包,2024最新Python下载环境配置教程!
  • OpenCV几何图像变换(10)透视变换函数warpPerspective()的使用
  • 国内首个“舱泊一体”平台量产上车,这家芯片公司抢跑「跨域」新市场
  • Vue小玩意儿:vue3+express.js实现大文件分片上传
  • 一文掌握 Go 内存对齐
  • pygame开发课程系列(7):打砖块,飞行射击,跳跃游戏实例开发
  • 为什么我编写不出优秀的ChatGPT提示词?
  • 深度学习中常用参数解释
  • ADE7953ACPZ-RL带零线电流测量的单相多功能计量IC 高精度与功能特性概览
  • 车载T-Box通信稳定性弱网测试方案
  • transforms
  • C语言-指针
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【comparator, comparable】小总结
  • 2019.2.20 c++ 知识梳理
  • Java的Interrupt与线程中断
  • JSONP原理
  • Vue 2.3、2.4 知识点小结
  • vue-router的history模式发布配置
  • 排序算法之--选择排序
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • # 透过事物看本质的能力怎么培养?
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #数据结构 笔记一
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .aanva
  • .gitignore文件忽略的内容不生效问题解决
  • .NET 命令行参数包含应用程序路径吗?
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET多线程执行函数
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @vue/cli 3.x+引入jQuery
  • [ C++ ] STL---仿函数与priority_queue
  • []串口通信 零星笔记
  • [240812] X-CMD 发布 v0.4.5:更新 gtb、cd、chat、hashdir 模块功能
  • [Android学习笔记]ScrollView的使用
  • [APIO2015]巴厘岛的雕塑
  • [C++]指针与结构体
  • [flutter]一键将YAPI生成的api.json文件转为需要的Dart Model类的脚本
  • [hive] 窗口函数 ROW_NUMBER()
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • [Luogu P3527BZOJ 2527][Poi2011]Meteors(整体二分+BIT)
  • [MySQL]02 存储引擎与索引,锁机制,SQL优化
  • [Oh My C++ Diary]\t \n \r的用法