logo

给定一个无序数组,如何找到第 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 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

给定一个无序数组,如何找到第 K 大的元素?

Mediumpythonalgorithms

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案