Re: [问题] leetcode sliding window median

楼主: pokkys (人很好那一个)   2017-10-09 19:20:45
※ 引述《sean72 (.)》之铭言:
: https://leetcode.com/problems/sliding-window-median/description/
: leetcode里面python解法对我来说有点玄
: (mur mur 那个解法提供者的python code每次都短到爆,而且很难读懂 T_T)
: 有人知道这题python该怎么解吗?
: 我的解法 参考网络上搜到的java解法
: https://repl.it/MSNr/3
: 维持左边一个maxheap, 右边一个minheap
: median为maxheap top
: 每次window往右滑动,则判断新数字大于或是小于media,
: 往左边或是右边的heap加入一个元素
: 并且减去刚刚脱离window那个数字
: 但是会超时
: 我猜我的瓶颈应该是在remove之后重新heapify ,这里需要O(klogk)
: java用treeset or priorityQueue remove只需要O(k)时间
我这样写竟然没有超时.....
https://tinyurl.com/yckavkzx
我有看到别人,把我用sorted的部份换成bisect.insort
速度变超快
作者: ddchris (克里斯)   2017-10-09 19:43:00
bisect.insort 似乎是用二元搜寻树走访的方式插入数值,比每次都重新排序快的多
作者: sean72 (.)   2017-10-09 23:57:00
这连结打开之后跳转到leetcode 没有程式码 可否贴到其他分享程式码的网站?

Links booklink

Contact Us: admin [ a t ] ucptt.com