请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

剑指Offer-32.丑数(C++/Java)

[复制链接]
查看: 7|回复: 0

1万

主题

2万

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
52027
发表于 2019-12-3 04:05 | 显示全部楼层 |阅读模式
题目:

把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,由于它包含质因子7。 风尚上我们把1当做是第一个丑数。求按从小到大的次第的第N个丑数。
分析:

可以从1起头去判定每一个数能否是丑数,即判定数字能否是只能被2,3,5整除。固然这样比力耗时。
每一个丑数都是由较小的丑数乘上2或3或5来获得的,2,3,5自己就是由1乘上2,3,5而来。背面天生的丑数可以畴前面的丑数别离乘上2,3,5取一个最小的即可,所乘的丑数也不用每次都从最起头遍历,设备三个指针,别离指向乘2,乘3,乘5的丑数即可,每次新出现一个丑数,更新三个指针即可,更新的条件,即是乘上2,3,5要大于当前的丑数。
步伐:

C++
[code]class Solution {public:    int GetUglyNumber_Solution(int index) {        if(index
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 妈妈网-中国妈妈第一,是怀孕、育儿、健康等知识交流传播首选平台 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表