第n个丑数

LeetCode:Ugly Number II

冷暖自知 提交于 2019-12-06 09:18:45
1、题目名称 Ugly Number II(丑数2:找出第n个丑数) 2、题目地址 https://leetcode.com/problems/ugly-number-ii/ 3、题目内容 英文:Write a program to find the n -th ugly number. 中文:写程序找出第n个丑数 说明:丑数具有如下特征:1是丑数,丑数可以表示为有限个2、3、5的乘积 注意:关于“判断指定数字是否为丑数”,请参考 Ugly Number(LeetCode #263) 5、一个TLE的方法 一个最容易想到的方法,就是从1开始依次向后判断各自然数是否为丑数,一直判断到第n个丑数,返回第n个丑数的值。这种方法由于充斥了大量的重复计算,效率很低,因此会导致TLE(Time Limit Exceeded)的结果。 Java代码如下: /** * 功能说明:LeetCode 263 - Ugly Number * 开发人员:Tsybius2014 * 开发时间:2015年8月23日 */ public class Solution { /** * 求第N个丑数 * @param n * @return 第N个丑数 */ public int nthUglyNumber(int n) { if (n <= 1) { return 1; } int counter = 0;