给定一个无序数组,如何找到第 K 大的元素?
Given an unsorted array, how do you find the K-th largest element?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Algorithms, Coding
标签: quickselect, kth-element
目标公司: Telstra
参考答案摘要
思路 用 Quickselect(选择算法):平均 O(n),最坏 O(n²) 每次选 pivot,把数组按大于/等于/小于 pivot 分区 只递归到包含第K大元素的那一边,避免全排序 示例代码(Python,Quickselect) import random def kth_largest(nums, k): # k is 1-based: k=1 returns the largest p...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。