数组中的第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);
}
相关推荐
gihigo199837 分钟前
matlab 基于瑞利衰落信道的误码率分析
算法
foxsen_xia1 小时前
go(基础06)——结构体取代类
开发语言·算法·golang
foxsen_xia1 小时前
go(基础08)——多态
算法·golang
leoufung1 小时前
用三色 DFS 拿下 Course Schedule(LeetCode 207)
算法·leetcode·深度优先
im_AMBER2 小时前
算法笔记 18 二分查找
数据结构·笔记·学习·算法
C雨后彩虹2 小时前
机器人活动区域
java·数据结构·算法·华为·面试
MarkHD3 小时前
车辆TBOX科普 第53次 三位一体智能车辆监控:电子围栏算法、驾驶行为分析与故障诊断逻辑深度解析
算法
苏小瀚3 小时前
[算法]---路径问题
数据结构·算法·leetcode
月明长歌4 小时前
【码道初阶】一道经典简单题:多数元素(LeetCode 169)|Boyer-Moore 投票算法详解
算法·leetcode·职场和发展
wadesir4 小时前
C语言模块化设计入门指南(从零开始构建清晰可维护的C程序)
c语言·开发语言·算法