数组中的第K个最大元素

题目链接:

215. 数组中的第K个最大元素 - 力扣(LeetCode)

题解:

首当其冲的方法是 排序 然后找到第k个最大的元素

js内置了sort方法,但是我还是自己回忆了一下快速排序(下次回忆一下归并排序)当然快排没过,排序算法应当是根本数据量来选择对应的算法,而不是用一个能搞好

code:

javascript 复制代码
var findKthLargest = function(nums, k) {
    if (nums.length === 0) return 0;
    mySort(nums);
    return nums[nums.length - k]; // 修正索引
};

贴出快排算法:

javascript 复制代码
function mySort(nums, start = 0, end = nums.length - 1) {
    if (start >= end) return;
    
    let temp = nums[start];
    let left = start;
    let right = end;
    
    while (left < right) {
        while (nums[right] > temp && left < right) right--;
        while (nums[left] <= temp && left < right) left++;
        
        if (left < right) {
            [nums[left], nums[right]] = [nums[right], nums[left]];
        }
    }
    
    [nums[start], nums[left]] = [nums[left], nums[start]];
    
    mySort(nums, start, left - 1);
    mySort(nums, left + 1, end);
}
相关推荐
徐小夕1 分钟前
Loop Engineering 深度解析与实战指南(全网最全)
前端·算法·github
北域码匠1 小时前
SHA-1算法:安全哈希原理与应用解析
算法·c#·哈希算法
手写码匠2 小时前
手写 GraphRAG:从零实现图增强检索增强生成系统
人工智能·深度学习·算法·aigc
BomanGe12 小时前
NSK重载高刚性滚珠丝杠技术详解
经验分享·算法·规格说明书
Matrix_113 小时前
手机里的计算摄影:广角形变校正算法
人工智能·算法·智能手机·计算摄影
WBluuue3 小时前
数据结构与算法:有序表(二):跳表
数据结构·c++·算法·skiplist
不好听6134 小时前
深入理解链表:线性数据结构的另一面
javascript·数据结构
x138702859574 小时前
c语言中srtlen(指针使用计算字符长度)、传值和传址调用
c语言·开发语言·算法·visual studio
海兰4 小时前
【实用程序】电商销售分析仪表盘 — 从零搭建一个AI参与的全栈数据洞察系统
人工智能·学习·算法
zwenqiyu5 小时前
P5283 [十二省联考 2019] 异或粽子题解
c++·学习·算法