502. IPO
是贪心算法in general。
一共两个变量:profit和capital。profit要求是找最大的。capital要求小于w。
两种筛选方法:把capital符合要求的排个序,找profit最大的。按照profit排序,从大到小找capital满足条件的。
哪种更好?
排序一定要用pq吗?
答题:这道题需要排序,又需要相对快速的push和pop。vector搭配sort每次插入都是logN。又不能直接hash map,因为没有排序。想要又有排序又有快速插入还可以用multimap。不懂为什么这道题不用。
因为w只会增加,所以可以一直从capital的pq往profit的pq里push
关于heap vs pq:
A Heap is a special Tree-based data structure in which the tree is a complete binary tree
A priority queue
is a container adaptor that provides constant time lookup of the largest (by default) element, at the expense of logarithmic insertion and extraction