首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
丑数
[编程题]丑数
热度指数:590599
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。
数据范围:
要求:空间复杂度
, 时间复杂度
示例1
输入
7
输出
8
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(3683)
分享
提交结果有问题?
749个回答
135篇题解
开通博客
LaN666
发表于 2021-06-20 20:10:24
精华题解
33、丑数 解题思路: 我们先看到题目,把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。 有了上面的定义我们就可以知道,丑数的形式就是2x3y5z所以我们可以定义一个数组res,存储第n个丑数。因为
展开全文
GhostLX
发表于 2021-06-21 17:57:53
精华题解
题目陈述 描述:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 算法一:质因数分解(暴力) 算法实现 一个很朴素的做法 从每次+1,一直枚举,直到找到地N个丑数为
展开全文
江南好___
发表于 2021-06-23 14:25:34
精华题解
描述 题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 示例 输入:7 返回值:8引言 对于这种看似复杂的题目,不妨先通过简单的例子计算,进而推到出完整过程
展开全文
不会做题的小菜鸡
发表于 2021-07-15 14:31:26
精华题解
思路 根据题中定义,我们了解到丑数都是可以拆分为 2^x*3^y*5^z 的数字,因此思路集中在解决质因数的分解问题上,如何巧妙地利用质因数会衍生出不同的思路 暴力解法(超时):直接判断每一个自然数是否是符合丑数的质因数分解规律 最小堆解法:维护一个丑数最小堆,每次从堆顶取出当前最小值i,并再将2
展开全文
牛客题解官
发表于 2022-04-25 19:10:21
精华题解
题目的主要信息: 把只包含质因子2、3和5的数称作丑数 求按从小到大的顺序的第n个丑数 1视作第一个丑数 方法一:最小堆(推荐使用) 知识点1:优先队列 优先队列即PriorityQueue,是一种内置的机遇堆排序的容器,分为大顶堆与小顶堆,大顶堆的堆顶为最大元素,其余更小的元素在堆下方,小顶堆
展开全文
认认真真coding
发表于 2021-07-17 14:41:03
精华题解
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 方法一:暴力求解 求解思路对于求解丑数,因为题目要求丑数的质因子只能为2,3,5.根据整数可以唯一被质数表示可
展开全文
2019113913
发表于 2021-07-18 22:28:41
精华题解
题意思路:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 方法一 :数学 枚举 丑数是只包含质因子2、3和5的数,可以从小到大枚举满足条件的数 先将满足条件的最小的
展开全文
郭家兴0624
发表于 2019-08-11 11:58:13
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路:我们可以维护三个list,分别是乘2得到的丑数,乘3得到的丑数,乘5得到的丑数,但这样复杂度较高,而且
展开全文
年少挽剑世无双·
发表于 2020-03-19 21:41:51
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 解答:刚看到这个题目,想的是丑数排序有什么样的规律,但是发现前一个丑数和后一个丑数似乎没有任何规律。看了别人
展开全文
FYZ~
发表于 2019-07-30 01:36:11
题目:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路:一个丑数成以2/3/5,得到的还是一个丑数;有3个对列pos2/pos3/pos5,每次都取最小的数,放
展开全文
牛客524296088号
发表于 2020-06-25 20:47:41
丑数 第n个丑数肯定是第i个丑数乘以2,3或5得来的,1<=i<=n-1 考虑从前往后的动态规划求解丑数,假如已知前n-1个丑数,求解第n个丑数,那么三个指针p2,p3,p5,分别指向三个分别乘以2,3,5正好大于第n-1个丑数的丑数,求得三个乘积的最小值即为第n个丑数。 求出第n个丑
展开全文
超级码力233
发表于 2020-11-26 19:22:49
丑数 题目链接 Solution 丑数是任意个2,3,5相乘得到的。每个丑数都可以乘以一个2,3,5得到一个新的丑数。根绝这个思想,我们可以递推出所有的丑数。首先定义一个数组存储所有的丑数,并从头开始扫描所有丑数,每个丑数都乘以2,3,5,得到新的丑数。所以设三个指针分别表示接拿下来轮到那个数乘2,
展开全文
xiongqiangcs
发表于 2020-04-29 00:43:26
class Solution { public: int GetUglyNumber_Solution(int index) { if (index <= 0) return 0; vector<int> ugly(index);
展开全文
翟邦杰
发表于 2020-02-28 03:11:34
思路:我和想的方法和主流方法不一样,暴力打表。附上代码,难点在于确定指数范围。 题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 cla
展开全文
waigo
发表于 2021-09-20 11:15:23
import java.util.*; public class Solution { /*public int GetUglyNumber_Solution(int index) { //很明显,丑数除了2,3,5之外其他丑数肯定都是由丑数乘来的,不是丑数的数乘啥都不会变成
展开全文
宫水三叶的刷题日记
发表于 2021-07-26 16:14:09
基本思路 根据丑数的定义,我们有如下结论: 是最小的丑数。 对于任意一个丑数 ,其与任意的质因数(、、)相乘,结果(、、)仍为丑数。 优先队列(小根堆)解法 有了基本的分析思路,一个简单的解法是使用优先队列: 起始先将最小丑数 放入队列 每次从队列取出最小值 ,然后将 所对应的丑数 、
展开全文
ccจุ๊บ
发表于 2020-02-13 01:08:00
丑数 = 已有的丑数 * (2,3,5) 得到三个新的丑数,但是新的丑数位置不一定正确,切可能会有重复 所以我们每次只新增一个最小值,然后用三个指针记录当前2,3,5质因子形成的最大丑数位置,这样的话就会形成递增的丑数队列,而且遍历的次数也很容易就知道,即n-1,因为1是第一个丑数,n-1次遍历后,
展开全文
问题信息
二分
基础数学
难度:
749条回答
3683收藏
136570浏览
热门推荐
通过挑战的用户
查看代码
在看面经的羚羊很成熟
2023-02-25 19:31:08
牛客67494...
2023-02-23 16:08:34
灰度值为零
2022-09-20 11:34:38
ccwhql
2022-09-19 19:42:06
牛客058831号
2022-09-18 21:22:16
相关试题
远亲不如近邻
排序
二分
评论
(13)
分组
基础数学
二分
评论
(11)
航海
排序
思维
二分
评论
(1)
执行以下程序,理论上输出的结果应最...
360集团
Python
算法工程师
2019
评论
(1)
来自
360公司-2019校招...
计算分类模型的性能指标
机器学习
评论
(0)
丑数
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ public int GetUglyNumber_Solution (int index) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ int GetUglyNumber_Solution(int index) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param index int整型 # @return int整型 # class Solution: def GetUglyNumber_Solution(self , index ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ public int GetUglyNumber_Solution (int index) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ function GetUglyNumber_Solution( index ) { // write code here } module.exports = { GetUglyNumber_Solution : GetUglyNumber_Solution };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param index int整型 # @return int整型 # class Solution: def GetUglyNumber_Solution(self , index: int) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ func GetUglyNumber_Solution( index int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ int GetUglyNumber_Solution(int index ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param index int整型 # @return int整型 # class Solution def GetUglyNumber_Solution(index) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ def GetUglyNumber_Solution(index: Int): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ fun GetUglyNumber_Solution(index: Int): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ public int GetUglyNumber_Solution (int index) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ export function GetUglyNumber_Solution(index: number): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ func GetUglyNumber_Solution ( _ index: Int) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ pub fn GetUglyNumber_Solution(&self, index: i32) -> i32 { // write code here } }
7
8