TLE解法:

public class Solution {public int nthUglyNumber(int n) {int count = 0;int i = 1;while(count<n){if(isugly(i)){count++;}i++;}return i;}public boolean isugly(int n){if(n == 1)return true;while(n%2==0)n /= 2;while(n%3 == 0) n/=3;while(n%5==0)n/=5;if(n == 1)return true;elsereturn false;}
}

AC解法:

可以将丑数分成三个队列

l1:1*2,2*2,3*2,4*2,5*2,6*2,8*2……

l2:1*3,2*3,3*3,4*3,5*3,6*3,8*3……

l3:1*5,2*5,3*5,4*5,5*5,6*5,8*5……

每次从三个队列中拿出队头的数比较,最小的数为当前ith的丑数,循环操作直到为i<n,就找到了nth的丑数。代码:

public class Solution {public int nthUglyNumber(int n) {int r = 0;List <Integer> l1 = new LinkedList<Integer>();List <Integer> l2 = new LinkedList<Integer>();List <Integer> l3 = new LinkedList<Integer>();l1.add(1);l2.add(1);l3.add(1);for(int i = 0;i<n;i++){r = l1.get(0)<l2.get(0)?(l1.get(0)<l3.get(0)?l1.get(0):l3.get(0)):(l2.get(0)<l3.get(0)?l2.get(0):l3.get(0));if(l1.get(0)==r)l1.remove(0);if(l2.get(0)==r)l2.remove(0);if(l3.get(0)==r)l3.remove(0);l1.add(r*2);l2.add(r*3);l3.add(r*5);}return r;}
}

转载于:https://www.cnblogs.com/92sunqing/p/5017988.html

Ugly Number II相关推荐

  1. leetcode 264. Ugly Number II

    传送门 264. Ugly Number II QuestionEditorial Solution My Submissions Total Accepted: 36259 Total Submis ...

  2. LeetCode - Medium - 264. Ugly Number II

    Topic Math Dynamic Programming Heap Description https://leetcode.com/problems/ugly-number-ii/ Analys ...

  3. Lintcode 4 Ugly Number II

    原题如下: Ugly number is a number that only have factors 2, 3 and 5. Design an algorithm to find the nth ...

  4. LeetCode Ugly Number II(丑数的计算)

    代码如下: public class Solution {public int nthUglyNumber(int n) {int[] primes = {2, 3, 5};int[] idx = n ...

  5. [leetcode] Ugly Number II

    public class Solution { public int nthUglyNumber(int n) {         int[] ugly=new int[n+10];         ...

  6. Leetcode264. Ugly Number II丑数2

    编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ...

  7. leetcode 263, 264, 1201, 313. Ugly Number I, II, III, Super Ugly Number(leetcode 丑数问题合集)

    263. Ugly Number https://leetcode.com/problems/ugly-number/ 本题题解由下面的 264. Ugly Number II 改造而来,所以效率会比 ...

  8. LeetCode 264. Ugly Number II--C++,Python解法

    题目地址:Ugly Number II - LeetCode Write a program to find the n-th ugly number. Ugly numbers are positi ...

  9. Super Ugly Number

    1. 解析 这道题Ugly Number II 的升级版,题目大意,求解第n个super Ugly Number,super Ugly Number(除1之外)的因子只存在因子列表primes中,换汤 ...

  10. 263.Ugly Number||202 happy number||476 Number Complement||136 Single Number

    263.Ugly Number 判断因数是否只有素数2.3.5.. 感觉比较简单: class Solution(object):def isUgly(self, num):""& ...

最新文章

  1. 基于sharepoint 2003的内容管理1.0
  2. 用计算机怎么开5次方,用科学计算器来求三的五次方的值,按键顺序是( )?
  3. Spring Session使用
  4. 代码示例:使用redis计数来控制单位时间内对某接口的访问量
  5. ubuntu20.04运行海商王2
  6. 如何利用echarts图表获取条状图点击名称和值
  7. pygame做的著名游戏_用Python和Pygame写游戏-从入门到放弃(1)
  8. python watchdog休眠_python watchdog
  9. 从单机到2000万QPS: 知乎Redis平台发展与演进之路
  10. 模拟赛 10-14考试再次翻车记
  11. 人工智能在fpga的具体应用_“基于FPGA的人工智能应用技术师资培训”圆满落幕!...
  12. android 自定义banner样式_Android中Banner的指示器自定义View
  13. 五百兆电信宽带玩穿越火线,电信区,延时卡70到80怎么回事,换的千兆猫和路由器,线都是六类?
  14. linux mysql 保护_linux – 在Puppet中,我如何保护密码变量(在这种情况下是MySQL密码)?...
  15. Rapid Tampere加速联合产业创新
  16. vue学习之ElementUI时间选择器报错getTime is not a function
  17. ag-gird 多层表头文字居中
  18. python相关性分析模型,相关性分析原理及Python实战
  19. Dango 之认证组件Auth模块
  20. 三本 计算机专业,四川哪些三本大学的计算机专业最好?

热门文章

  1. JAVA 泛型 入门
  2. ubuntu 17.x/CentOS 7.x中安装JAVA JDK
  3. Spring Boot 整合 Kafka 分布式消息系统快速入门
  4. 无法显示此网页 php模拟,新手进行php的模拟登录 按照网页的代码进行输入无法显示结果...
  5. php rsa2 微博,微博登录分析
  6. jquery富文本编译器_jQuery 移动端artEditor富文本编辑器
  7. LayuiAdmin 滚动条设置问题解决
  8. Redis常见的面试题
  9. 并不对劲的AC自动机
  10. LeetCode Student Attendance Record I