面试必考精华版Leetcode215. 数组中的第K个最大元素

题目:


代码(2023年10月27日首刷看解析):

cpp 复制代码
class Solution {
public:
    int findKthLargest(vector<int>& nums, int k) {
        return quickselect(nums,k);
    }

    int quickselect(vector<int>& nums,int k){
        vector<int> big,equel,small;
        int pivot = nums[rand()%nums.size()];
        for(auto num:nums){
            if(num>pivot){
                big.push_back(num);
            }else if(num<pivot){
                small.push_back(num);
            }else{
                equel.push_back(num);
            }
        }
        if(k<=big.size()){
            return quickselect(big,k);
        }
        else if(nums.size()-small.size()<k){
            return quickselect(small,k-(nums.size()-small.size()));
        }
        return pivot;
    }
};

时间复杂度为O(N)

相关推荐
黄贵根17 小时前
JavaScript实现教培行业意向登记系统
开发语言·javascript·ecmascript
codeGoogle20 小时前
自研 IM 还是选择第三方 SDK?企业开发者应该如何权衡?
前端·后端·程序员
wabs66620 小时前
关于图论【卡码网117.软件构建的思考】
数据结构·算法·软件构建·图论·卡码网
mifengxing20 小时前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析
java·算法·leetcode·排序算法
zzzzzz31021 小时前
从 react-bits 看动效组件化:别把视觉效果写成一次性页面代码
javascript·react.js·开源
Tongzhi202621 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析
运维·数据结构·科技·算法·贪心算法
用户9385156350721 小时前
React Context 与自定义 Hook 从底层到实践:「跨层级通信 + 副作用封装」全解析
前端·javascript·react.js
Wang's Blog21 小时前
AI Agent白手起家30: 动态示例选择器之根据长度选择 Few Shot 示例
算法
滴滴答答哒21 小时前
VUE3+element-plus MultiSelect 多选下拉组件
前端·javascript·vue.js
其美杰布-富贵-李21 小时前
04 watch 与 Vue 响应式数据流
前端·javascript·vue.js