求无序数组第 K 大的数
作者:Grey
原文地址:
博客园:求无序数组第 K 大的数
CSDN:求无序数组第 K 大的数
问题描述
无序数组求第K大的数,其中K从1开始算。
例如:[0,3,1,8,5,2]这个数组,第2大的数是5…
前 K 个高频元素问题
作者:Grey
原文地址:
博客园:前 K 个高频元素问题
CSDN:前 K 个高频元素问题
题目描述
LeetCode 347. Top K Frequent Elements
思路
第一步,针对数组元素封装一个数据结构
public class Node {int …
求数据流中的中位数问题
作者:Grey
原文地址:
博客园:求数据流中的中位数问题
CSDN:求数据流中的中位数问题
题目链接
LeetCode 295. Find Median from Data Stream
主要思路
要得到数据流中的中位数,在偶数的情况下&…
题面 题解(手写小根堆) down 操作 :向下更新,将父节点和两个子节点比较,值小的作为父节点,然后递归更新 up 操作 :向上更新 ,将此节点与其父节点比较,如果此节点的值小于…
下面是一个小例子:
public static void main(String []args) {StringBuffer str1 new StringBuffer("good");StringBuffer str2 new StringBuffer("bad");test (str1, str2);System.out.println(str1.toString());System.out.println(str2…
题目链接
heapify(q) 初始化一个列表q成为小根堆这道题取反使之成为大根堆heappop(q) 弹出堆顶heappush(q, e) 将e插入堆中
class Solution:def maxKelements(self, nums: List[int], k: int) -> int:q [-x for x in nums]heapify(q)ans 0for _ in range(k):x heappop(…
手写堆,而非stl中的堆
如何手写一个堆? //将数组建成堆 <O(n) for (int i n / 2;i;i--) //从n/2开始down down(i); 从n/2元素开始down,最下面一层元素的个数是n/2,其余上面的元素的个数是n/2,从最下面一层到最高层…
比赛链接
AB都是思维,更确切地说,A考了字符串字典序,很经典的贪心考点,B考了MEX运算。C出的还是比较好的,dp方法值得学习。D题是个不太好想的容斥,主要是变量有点多,容易搞混。 A. Entertainme…
Problem DescriptionSteph is extremely obsessed with “sequence problems” that are usually seen on magazines: Given the sequence 11, 23, 30, 35, what is the next number? Steph always finds them too easy for such a genius like himself until one day Klay co…