把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
来源:互联网 发布:mac给手机充电不停闪 编辑:程序博客网 时间:2024/05/16 08:12
分析:在丑数数列中,每一个丑数只包含2,3,5因子,也就是说每一个丑数的最小因子只包含2,3,5序列,1默认是丑数,这样。我们从1开始,进行每一次乘以2,乘以3,乘以5运算,选取其中最小的数字添加到丑数序列(因为要求丑数序列有序,从小到大)。
public class Solution {
public int GetUglyNumber_Solution(int index) {
if(index <=0){
//负数
return 0;
}
//存放丑数序列
int[] c=new int[index];
c[0]=1;//默认第一个数字1是丑数
int position_2=0;//丑数中该位置是否已经乘2并且放入丑数数组中
int position_3=0;//丑数中该位置是否已经乘3并且放入丑数数组中
int position_5=0;//丑数中该位置是否已经乘5并且放入丑数数组中
for(int i=1;i<index;i++){
//每一个丑数是前一个丑数的2,3,5倍
//获取所有可能的丑数序列中最小的放入数组
int min_c=min(c[position_2]*2,c[position_3]*3,c[position_5]*5);
//存放返回的最小丑数
c[i]=min_c;
if (c[position_2] * 2 <= min_c)
//丑数中该位置已经乘2,挪动到新位置
position_2++;
if (c[position_3] * 3 <= min_c)
//丑数中该位置已经乘3,挪动到新位置
position_3++;
if (c[position_5] * 5 <= min_c)
//丑数中该位置已经乘5,挪动到新位置
position_5++;
}
return c[index-1];
}
//获取最小的丑数
public int min(int a,int b,int c){
return a>b? (b>c?c:b): (a>c?c:a);
}
}
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。
- 寻找丑数,把只包含因子2、3和5的数称作丑数(Ugly Number)
- (剑指offer)丑数,只包含因子2、3和5的数称作丑数
- c语言:把只含因子2、3和5的数称为丑数,求按从小到大的顺序的第1500个丑数(两种方法比较)
- 丑数,只包含因子2、3、5的数
- 丑数--中包含因子2、 3 、 5 的数称为丑数
- 1010 只包含因子2 3 5的数(丑数 二分)
- 丑数,即只有2,3,5因子的整数,找出第n 个丑数
- 51nod1010 只包含因子2 3 5的数
- 1010 只包含因子2 3 5的数
- 只包含因子2 3 5的数
- 问题 : 只包含因子2 3 5的数
- 只包含因子2 3 5的数
- 只包含因子2 3 5 的数----51Nod
- 阿里规约插件在eclipse下不能安装
- OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++五、Openstack计算服务(nova)下
- Golang从零开始(一) 编译环境搭建(Ubuntu17)
- Linux-3.3.5内核初步移植到OK6410开发板
- 小麦子-WPF学习系列3:一个完整的界面案例
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
- 【Codevs1001】舒适的路线 并查集 枚举 比值 (7/1000)
- (转)Deep Learning(深度学习)学习笔记整理系列之(一)
- 如何设计一个秒杀系统
- 修改 已经创建好的 web 项目的 webapp版本
- 图像增强去雾之直方图均衡化/同态滤波/Retinex算法
- JS基础知识
- 秒杀系统架构优化思路
- 菜鸟学习历程【14】停车场项目实战