数组中的第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);
}
相关推荐
鱼很腾apoc几秒前
【实战篇】 第13期 算法竞赛_数据结构超详解(上)
c语言·开发语言·数据结构·学习·算法·青少年编程
嘿嘿嘿x33 分钟前
Modbus TCP 数据结构(发送和返回/读/写)
数据结构·网络协议·tcp/ip
啊阿狸不会拉杆9 分钟前
《数字图像处理》第 12 章 - 目标识别
图像处理·人工智能·算法·计算机视觉·数字图像处理
进击的横打20 分钟前
【车载开发系列】安全算法与安全访问
算法·安全·车载系统
努力学算法的蒟蒻21 分钟前
day59(1.18)——leetcode面试经典150
算法·leetcode·职场和发展
tobias.b21 分钟前
408真题解析-2009-42-数据结构-单链表与双指针技巧
数据结构·计算机考研·408真题解析
666HZ66623 分钟前
数据结构3.0 栈、队列和数组
开发语言·数据结构·算法
知乎的哥廷根数学学派23 分钟前
基于物理引导和不确定性量化的轻量化神经网络机械退化预测算法(Python)
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
程序员-King.25 分钟前
day146—递归—验证二叉搜索树(LeetCode-98)
算法·leetcode·二叉树·递归
永远都不秃头的程序员(互关)26 分钟前
【K-Means深度探索(五)】不止欧氏距离:K-Means中距离度量那些事儿
算法·机器学习·kmeans