美文网首页
剑指 Offer 49. 丑数

剑指 Offer 49. 丑数

作者: 漫行者_ | 来源:发表于2021-10-02 12:17 被阅读0次

剑指 Offer 49. 丑数

用集合运行速度有点慢啊阿啊

class Solution {
    public int nthUglyNumber(int n) {
        if(n == 1) return 1;
        int index1 = 0;
        int index2 = 0;
        int index3 = 0;
        List<Integer> array = new ArrayList<>();
        array.add(1);
        while(array.size() <= n) {
            int min = Math.min(2*array.get(index1), Math.min(3*array.get(index2), 5*array.get(index3)));
            if(min != array.get(array.size()-1)) {
                    array.add(min);
            }
            if(min == 2*array.get(index1)) {
                index1++;
            } else if(min == 3*array.get(index2)) {
                index2++;
            } else {
                index3++;
            }
        
        }
        return array.get(n-1);

    }
}

这里可以改成数组,并且相同的两个可以一起++
以后比赛只能用数组来做

 public int nthUglyNumber(int n) {
        if(n <=3) return n;
        int index1 = 0;
        int index2 = 0;
        int index3 = 0;
        int[] array = new int[n+1];
        array[0] = 1;
        int p = 1;
        int re1= 2;
        int re2=3;
        int re3=4;
         int min = Integer.MAX_VALUE;
        while(p <= n) {
            re1 =  2*array[index1];
            re2 =  3*array[index2];
            re3 =  5*array[index3];
            min = Math.min(re1, Math.min(re2, re3));
            if(min == re1) {
                index1++;
            }
            if(min == re2) {
                index2++;
            } 
            if(min == re3) {
                index3++;
            }
            array[p++] = min; 
        }
        return array[n-1];
    }

相关文章

  • 剑指 Offer 49. 丑数

    剑指 Offer 49. 丑数[https://leetcode-cn.com/problems/chou-shu...

  • 剑指 Offer 49. 丑数

    题目描述 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n ...

  • leetcode 剑指 Offer 49. 丑数

    0.code

  • AC 剑指 Offer 49. 丑数

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

  • [剑指offer] 丑数

    本文首发于我的个人博客:尾尾部落 题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6...

  • 【剑指 offer】丑数

    1、题目描述 我们把只包含因子2、3和5的数称作丑数(Ugly Number)。 例如6、8都是丑数,但14不是,...

  • ARTS 05

    Algorithm [剑指offer] 丑数Review Google如何跟踪您的个人信息Tip ...

  • 剑指offer----丑数

    题目:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子...

  • 【剑指Offer 34】丑数

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

  • 【python】剑指offer,丑数?

    题目:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质...

网友评论

      本文标题:剑指 Offer 49. 丑数

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