面试题 17.09. 第 k 个数
https://leetcode-cn.com/problems/get-kth-magic-number-lcci/
题目描述
前置知识
堆
状态机
动态规划
公司
暂无
堆
思路
思路很简单。 就是使用一个小顶堆,然后每次从小顶堆取一个, 取 k 次即可。
唯一需要注意的是重复数字,比如 3 * 5 = 15
, 5 * 3 = 15
。关于去重, 用 set 就对了。
关键点
去重
代码(Python)
状态机
思路
这个思路力扣的题目还是蛮多的, 比如西法我之前写的一个 《原来状态机也可以用来刷 LeetCode?》.
思路很简单, 就是用三个指针记录因子是 3,5,7 的最小值的索引。
代码(Python)
复杂度分析
时间复杂度:$O(k)$
空间复杂度:$O(k)$
最后更新于