网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1382|回复: 0
打印 上一主题 下一主题

Java编程-丑数

[复制链接]

97

主题

98

帖子

447

积分

版主

Rank: 7Rank: 7Rank: 7

积分
447
跳转到指定楼层
楼主
发表于 2020-11-4 15:50:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
题目描述
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。
习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。

示例1
输入:7
返回值:8
import java.util.*;
public class Solution {
    public int GetUglyNumber_Solution(int index) {
        if (index == 0) {
            return 0;
        }
        int p2 = 0;
        int p3 = 0;
        int p5 = 0;
        int[] arr = new int[index];
        arr[0] = 1;
        for (int i = 1; i < index; i++) {
            arr[i] = Math.min(arr[p2] * 2, Math.min(arr[p3] * 3, arr[p5] * 5));
            if(arr[i] == arr[p2]*2){
                p2++;
            }
            if(arr[i] == arr[p3]*3){
                p3++;
            }
            if(arr[i] == arr[p5]*5){
                p5++;
            }
        }
        return arr[index-1];
    }
}


回复

使用道具 举报

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

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2024-12-31 01:39 , Processed in 0.034013 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表