美文网首页
每日算法之丑数

每日算法之丑数

作者: 隔壁老王的隔壁啊 | 来源:发表于2018-04-08 16:10 被阅读7次

描述

设计一个算法,找出只含素因子2,3,5 的第 n 小的数。(我们可以认为1也是一个丑数)

符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12...

实现

 /**
     * @param n: An integer
     * @return: the nth prime number as description.
     */
    public int nthUglyNumber(int n) {
       int[] ugly = new int[n];  
        ugly[0] = 1;  
        int num_2 = 0;  
        int num_3 = 0;  
        int num_5 = 0;  
        for(int i = 1;i<n;i++)  
        {  
            ugly[i] = min(min(ugly[num_2]*2,ugly[num_3]*3),ugly[num_5]*5);  
            if(ugly[i] / ugly[num_2] == 2)  
                num_2 ++;  
            if(ugly[i] / ugly[num_3] == 3)  
                num_3 ++;  
            if(ugly[i] / ugly[num_5] == 5)  
                num_5 ++;  
        }  
        return ugly[n-1];  
    }
    
    private int min(int a , int b){
        return (a>b)?b:a;
    }

相关文章

  • 每日算法之丑数

    描述 设计一个算法,找出只含素因子2,3,5 的第 n 小的数。(我们可以认为1也是一个丑数) 符合条件的数如:1...

  • 264、丑数 II | 算法(leetcode,附思维导图 +

    零 标题:算法(leetcode,附思维导图 + 全部解法)300题之(264)丑数 II 一 题目描述 二 解法...

  • 寻找丑数

    算法题:寻找丑数 这是一道在订阅的blog上看到的题目,觉得比较有意思,就动手做了一下。 何为丑数? 丑数(Ugl...

  • 丑数II

    题目描述 设计一个算法,找出只含素因子2,3,5 的第 n 大的数。1也是一个丑数。 思路 方法一每个丑数都是2....

  • 滴滴校招-寻找丑数-c++

    面试题之丑数的C++实现求解(孤陋寡闻了,才知道丑数这么high的东东)

  • lintcode 丑数

    设计一个算法,找出只含素因子2,3,5 的第 n 大的数。直接寻找丑数,由定义可知,丑数是由2m,3n,5^l,因...

  • LeetCode刷题-丑数

    前言说明 算法学习,日常刷题记录。 题目连接 丑数[https://leetcode-cn.com/problem...

  • 丑数

    丑数 设计一个算法,找出只含素因子2,3,5的第n小的数。 符合条件的数如:1, 2, 3, 4, 5, 6, 8...

  • 2019-08-04-算法-丑数

    定义:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。 求按从小到大的顺序的第1500个丑数。例...

  • 263、丑数(E)

    判断一个正整数是否为一个丑数。丑数的定义是 1 为丑数,只包含 2、3、5的数就是丑数,比如 4,8,但是14 就...

网友评论

      本文标题:每日算法之丑数

      本文链接:https://www.haomeiwen.com/subject/czqmhftx.html