3 篇
常见数据结构专区
题目描述 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 思路 第一眼看到题,咱第一反应就是——堆嘛!维护“目前为止最大的 k 个元素”,这种活儿不就是
题目描述 咱来翻译下题面:需要实现一个 MedianFinder,它会不断接收数据流里的整数,并且随时返回当前所有数字的中位数。 如果当前数字个数是奇数,中位数就是排序后正中间的数字;如果是偶数,中位数就是中间两个数字的平均值。也就是说,addNum 负责把新数加进来,findMedian 要在已经加入的所有数里快速找
哎呀,IPO 听着很唬人,其实咱只要盯住“当前能做里最赚钱的”就行啦。 题目描述 咱来翻译下题面:现在有 n 个项目,每个项目都有两个信息:完成后能获得的纯利润 profits[i],以及启动它之前必须拥有的最小资本 capital[i]。 一开始手里有资本 w,最多可以做 k 个不同项目。每做完一个项目