Problem 295: Find Median from Data Stream
思路
这道题十分巧妙。要想得到中位数,那么我们可以把一串数从中间一劈为二,如果左右的个数相同,那么左边右边加起来除以二;如果不相等,那么取右边的(因为默认右边多)
左边最大堆,右边最小堆。维持最大堆的时候,add 一个负数就可以了。
易错点
Queue 的操作
offer() / poll()
联想 Stack 的操作:
push() / pop()
Last updated
这道题十分巧妙。要想得到中位数,那么我们可以把一串数从中间一劈为二,如果左右的个数相同,那么左边右边加起来除以二;如果不相等,那么取右边的(因为默认右边多)
左边最大堆,右边最小堆。维持最大堆的时候,add 一个负数就可以了。
Queue 的操作
offer() / poll()
联想 Stack 的操作:
push() / pop()
Last updated