zoukankan      html  css  js  c++  java
  • leetcode 丑数 II java

    题目:

    编写一个程序,找出第 n 个丑数。

    丑数就是只包含质因数 2, 3, 5 的正整数。

    示例:

    输入: n = 10
    输出: 12
    解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。
    说明:  

    1 是丑数。
    n 不超过1690。

    解题:

    使用三指针

    class Solution {
        public int nthUglyNumber(int n) {
            int min2 = 0;
            int min3 = 0;
            int min5 = 0;
            int []result = new int[n];//result用来存储丑数
            result[0] = 1;
            for(int i = 1; i < n; i++){
                //丑数*2 *3 *5依然是丑数
                int min = Math.min(Math.min(result[min2] * 2, result[min3] * 3), result[min5] * 5);
                if(min == result[min2] * 2){
                    min2++;
                }
                if(min == result[min3] * 3)
                    min3++;
                if(min == result[min5] * 5)
                    min5++;
                result[i] = min;
            }
            return result[n - 1];
        }
    }
  • 相关阅读:
    37. 解数独
    皮尔逊相关系数的计算以及数据的描述性统计
    商业微信小程序开发实战---1
    51. N皇后
    拟合算法
    216. 组合总和 III
    打印心性
    指针
    第五天
    循环 和 宏
  • 原文地址:https://www.cnblogs.com/yanhowever/p/11470213.html
Copyright © 2011-2022 走看看