给你一个整数 n ,请你找出并返回第 n 个 丑数 。

丑数 就是只包含质因数 2、3 和/或 5 的正整数。

示例 1:

输入:n = 10
输出:12
解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。

解题思路

维护一个最小堆和一个set,记录以及进入堆的丑数,每次将堆的最小值出队,并且将它的2,3,5倍数入队

代码

class Solution {public int nthUglyNumber(int n) {PriorityQueue<Long> priorityQueue=new PriorityQueue<>();Set<Long> set=new HashSet<>();priorityQueue.add(1L);int cnt=0;while (true){long cur=priorityQueue.poll();cnt++;if(cnt==n)return (int)cur;if(!set.contains(cur*2)){priorityQueue.add(cur*2); set.add(cur*2);}if(!set.contains(cur*3)){priorityQueue.add(cur*3);set.add(cur*3);}if(!set.contains(cur*5)){priorityQueue.add(cur*5);set.add(cur*5);}}}
}

leetcode 264. 丑数 II(堆)相关推荐

  1. 78. Leetcode 264. 丑数 II (堆-技巧二-多路归并)

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

  2. LeetCode 264. 丑数 II

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

  3. leetcode - 264. 丑数 II

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

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

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

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

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

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

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

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

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

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

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

  9. 【LeetCode】263.丑数 264. 丑数 II

    I. 263. 丑数(是否为丑数) 一.题目描述 编写一个程序判断给定的数是否为丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例 1: 输入: 6 输出: true 解释: 6 = 2 ...

最新文章

  1. 发那科机器人控制柜示教器不通电_FANUC发那科工业机器人本地自动运行的设置方式...
  2. 回车ajax显示,ajax返回值中有回车换行、空格的解决方法分享
  3. 腾讯Node.js基础设施TSW正式开源
  4. php上传图片管理系统,php 登录操作的文件上传管理系统
  5. 5G芯片市场“四强争霸” 未来市场格局谁更胜一筹?
  6. Python框架篇之Django(Models数据表的创建、数据库配置)
  7. OpenvSwitch架构
  8. mojing SDK根据坐标进行移动
  9. 【路径规划】基于matlab任意架次植保无人机作业路径规划【含Matlab源码 322期】
  10. 收货地址列表html,收货地址.html
  11. SharePoint365 接入简要笔记
  12. vincy:提升购买欲望的13种手段
  13. GNOME 3 使用技巧
  14. strpos函数 mysql_php常用字符串查找函数strstr()与strpos()实例分析
  15. 阿里的简历多久可以投递一次?次数多了有没有影响?可以同时进行吗?
  16. 计算机领域十大世界难题,世界四大科学难题是什么,什么是四大科学难题
  17. teradata中no more spool space
  18. 【顿悟】会者定离,一期一祈,勿怀忧也,世相如是.
  19. 【python】什么是序列,Python序列详解
  20. Unity简单实现老虎机抽奖效果

热门文章

  1. Python3正则表达式
  2. 95. 不同的二叉搜索树 II
  3. 大厂首发:2021年Java工作或更难找
  4. mysql数据库实用教程答案
  5. 细数Android开发者的艰辛历程,已拿offer附真题解析
  6. 人月神话阅读笔记(二)
  7. DPDK+Pktgen 高速发包测试
  8. js进阶 12-5 jquery中表单事件如何使用
  9. GUI 快捷键的实现思路
  10. ASP.Net 获取服务器信息