摘要: 思路: ###堆 这个题也可以用堆来做,和题313. Super Ugly Number的 堆做法一样。 通过大顶堆,即降序的堆来存放每个数,初始化res为1,因为这里的丑数的质因数只能是数组primes里面的,所以只要将2,3,5改为primes里的数即可。 在判断堆里是否有重复的元素,有则pop 阅读全文
posted @ 2021-04-07 20:04 Mrsdwang 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 思路: 和692.Top K words题目是相同的,一样的用hash map对出现的次数进行计数,然后最后再以pair的形式放如堆中,以出现次数为主要排序对象,用默认大顶堆即降序排序即可。 代码: class Solution { public: vector<int> topKFrequent( 阅读全文
posted @ 2021-04-07 18:50 Mrsdwang 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 思路: 因为还要考虑到字母顺序,所以肯定能用堆来存储。这里还需要先计数每个单词出现的次数,可以考虑用hash map来计数,再以pair的类型存放进堆,因为这里堆用大顶堆即降序排序,我们对出现次数取负值即可,然后每次加入进堆都判断一次是否数量大于K了,如果大于就pop掉堆顶元素,因为降序所以出现次数 阅读全文
posted @ 2021-04-07 17:34 Mrsdwang 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: ###暴力 刚开始看确实没思路,用的暴力法。因为他要的数是质因数只为2,3,5的。那么我们只需要获得通过2,3,5相乘得到的数即可。通过三个循环,先a=a2,然后b=a,b=b3,最后c=b,c=c5,这样得到的c就是是由23*5得到的数,但是这样得到的数,没法确定大小关系,所 阅读全文
posted @ 2021-04-07 17:05 Mrsdwang 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 思路比较简单,但要注意细节处理。 一开始就是想遍历寻找nums[i]<nums[i-1]获得旋转点,然后对这两侧的数组分别使用二分搜索,但是一直报错,找不到原因。 根据题解二分可知二分的本质是二段性,而非单调性。只要一段满足某个性质,另外一段不满足这个性质就可以用二分。 对于一 阅读全文
posted @ 2021-04-07 12:14 Mrsdwang 阅读(30) 评论(0) 推荐(0) 编辑