leetcode 264. 丑数 II(堆)
给你一个整数 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(堆)相关推荐
- 78. Leetcode 264. 丑数 II (堆-技巧二-多路归并)
给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...
- LeetCode 264. 丑数 II
264. 丑数 II Ideas 竟然没想到用小根堆,白学了,再把小根堆抄一遍. Code Python class Solution:def nthUglyNumber(self, n: int) ...
- leetcode - 264. 丑数 II
264. 丑数 II -------------------------------------------- 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示 ...
- Leetcode 264. 丑数 II 解题思路及C++实现
方法一:暴力解法 解题思路: 直接从整数1开始,不断递增,判断该数字是否为丑数(专门写一个判断是否为丑数的函数),当遇到一个丑数,则计数值加1,直至遇到n个丑数为止. 当n很大时,这种暴力解法会遇到 ...
- 86. Leetcode 264. 丑数 II (动态规划-基础题)
给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...
- LeetCode 264.丑数 II(动态规划)
题目描述 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10 ...
- LeetCode 263. 丑数 264. 丑数 II(DP)
文章目录 1. LeetCode 263. 丑数 解题 2. LeetCode 264. 丑数 II DP解题 1. LeetCode 263. 丑数 编写一个程序判断给定的数是否为丑数. 丑数就是只 ...
- 693. 交替位二进制数 / 227. 基本计算器 II / 264. 丑数 II
693. 交替位二进制数[简单题][每日一题] 思路:[位运算] 排除特殊情况n=1,此时return true. 将n转为二进制字符串,依次将相邻两位数字进行异或运算. 异或运算的结果为flag,如 ...
- 【LeetCode】263.丑数 264. 丑数 II
I. 263. 丑数(是否为丑数) 一.题目描述 编写一个程序判断给定的数是否为丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例 1: 输入: 6 输出: true 解释: 6 = 2 ...
最新文章
- 发那科机器人控制柜示教器不通电_FANUC发那科工业机器人本地自动运行的设置方式...
- 回车ajax显示,ajax返回值中有回车换行、空格的解决方法分享
- 腾讯Node.js基础设施TSW正式开源
- php上传图片管理系统,php 登录操作的文件上传管理系统
- 5G芯片市场“四强争霸” 未来市场格局谁更胜一筹?
- Python框架篇之Django(Models数据表的创建、数据库配置)
- OpenvSwitch架构
- mojing SDK根据坐标进行移动
- 【路径规划】基于matlab任意架次植保无人机作业路径规划【含Matlab源码 322期】
- 收货地址列表html,收货地址.html
- SharePoint365 接入简要笔记
- vincy:提升购买欲望的13种手段
- GNOME 3 使用技巧
- strpos函数 mysql_php常用字符串查找函数strstr()与strpos()实例分析
- 阿里的简历多久可以投递一次?次数多了有没有影响?可以同时进行吗?
- 计算机领域十大世界难题,世界四大科学难题是什么,什么是四大科学难题
- teradata中no more spool space
- 【顿悟】会者定离,一期一祈,勿怀忧也,世相如是.
- 【python】什么是序列,Python序列详解
- Unity简单实现老虎机抽奖效果