给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 10
输出:12
解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。
示例 2:输入:n = 1
输出:1
解释:1 通常被视为丑数。import heapqclass Solution:def nthUglyNumber(self, n: int) -> int:# 1. 起始最先将最小丑数1放入队列# 2. 每次从队列取出最小值x, 然后将x所对应的丑数2x,3x,5x进入队列# 3. 对 2 循环多次,第n次出队的值就是答案# 为了防止同一丑数多次进队,需要使用数据结构set来记录入队列的丑数nums = [2,3,5]explored = {1}pq = [1]for i in range(1, n + 1):x = heapq.heappop(pq)if i == n:return xfor num in nums:t = num * xif t not in explored:explored.add(t)heapq.heappush(pq,t)return -1

78. Leetcode 264. 丑数 II (堆-技巧二-多路归并)相关推荐

  1. LeetCode 264. 丑数 II

    264. 丑数 II Ideas 竟然没想到用小根堆,白学了,再把小根堆抄一遍. Code Python class Solution:def nthUglyNumber(self, n: int) ...

  2. leetcode - 264. 丑数 II

    264. 丑数 II -------------------------------------------- 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示 ...

  3. 77. Leetcode 1439. 有序矩阵中的第 k 个最小数组和 (堆-技巧二-多路归并)

    技巧二 - 多路归并其实这个技巧,叫做多指针优化可能会更合适,只不过这个名字实在太过朴素且容易和双指 针什么的混淆,因此我给 ta 起了个别致的名字 - 多路归并.多路体现在:有多条候选路线.代码上, ...

  4. leetcode 264. 丑数 II(堆)

    给你一个整数 n ,请你找出并返回第 n 个 丑数 . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例 1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, ...

  5. Leetcode 264. 丑数 II 解题思路及C++实现

    方法一:暴力解法 解题思路: 直接从整数1开始,不断递增,判断该数字是否为丑数(专门写一个判断是否为丑数的函数),当遇到一个丑数,则计数值加1,直至遇到n个丑数为止. 当n很大时,这种暴力解法会遇到 ...

  6. 86. Leetcode 264. 丑数 II (动态规划-基础题)

    给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...

  7. LeetCode 264.丑数 II(动态规划)

    题目描述 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10 ...

  8. LeetCode 263. 丑数 264. 丑数 II(DP)

    文章目录 1. LeetCode 263. 丑数 解题 2. LeetCode 264. 丑数 II DP解题 1. LeetCode 263. 丑数 编写一个程序判断给定的数是否为丑数. 丑数就是只 ...

  9. 693. 交替位二进制数 / 227. 基本计算器 II / 264. 丑数 II

    693. 交替位二进制数[简单题][每日一题] 思路:[位运算] 排除特殊情况n=1,此时return true. 将n转为二进制字符串,依次将相邻两位数字进行异或运算. 异或运算的结果为flag,如 ...

最新文章

  1. 建设网站套用模板优化难吗?
  2. tableau可视化数据分析60讲(十二)-过滤器详解
  3. 前端小白也能快速学会的博客园博客美化全攻略
  4. 「前端组件化」该怎么理解?
  5. 关于如何清除某个特定网站的缓存---基于Chrome浏览器
  6. POJ 3683 Priest John's Busiest Day(2-ST)
  7. 网盘是否能做一只安全的企业信息快递手
  8. 一文讲清,MySQL事务隔离级别
  9. axure7 地址选择_Axure教程:省市县三级联动选择(全国省市区数据)
  10. 深海迷航坐标传送代码_深海迷航秘籍代码大全 美丽水世界秘籍代码使用教程...
  11. java求一元二次方程:ax2+bx+c=0的根
  12. C++complex复数类
  13. 计算机无法装补丁,Win7系统无法安装补丁提示缺少Service Pack系统组件的原因及解决方法...
  14. [UE4]传送门:场景切换
  15. 王者荣耀与英雄联盟:如何解决玩家骂人的问题?
  16. 在LibreOffice 中启用录制宏的功能
  17. sysbench官网
  18. qq聊天页面设置html,如何设置qq聊天窗口消息显示方式
  19. 三星Galaxy S5手机在全球125个国家同步上市
  20. 2022-2027年中国稀有金属矿产行业发展监测及投资战略研究报告

热门文章

  1. 在非activity类调用startActivityForResult
  2. Fedora 13 Alpha测试手记横空出世
  3. 基于用户画像的实时异步化视频推荐系统
  4. JavaWeb中post提交乱码之编码拦截器Filter
  5. 如何从eclipse迁移到idea
  6. 港湾命令行 配管理IP
  7. android资源之res/raw和assets的异同
  8. Acwing756. 蛇形矩阵:模拟
  9. 中国人民大学_《组织行为学》_16.重塑组织模块导论
  10. 服务器供电系统图,【科·堂】图解5G和数据中心电源制式