一、题目:

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

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

示例:

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

说明: 

  1. 1 是丑数。
  2. n 不超过1690。

思路:动态规划

t1,t2,t3三个变量记录乘以2,3,5的个数。如:

代码:

    def nthUglyNumber(self, n):""":type n: int:rtype: int"""'''#超出时间限制if n == 0:return 0i = 1while i < n+1:m = iwhile m != 1:if not m % 2:m = m // 2elif not m % 3:m = m //3elif not m % 5:m = m // 5else:n += 1breaki +=1return n'''#动态规划if n<=0:return 0t1,t2,t3 = 0 , 0 , 0res = [1]while len(res) < n:res.append(min(res[t1]*2,res[t2]*3,res[t3]*5))if res[-1] == res[t1] * 2:t1 += 1if res[-1] == res[t2] * 3:t2 += 1if res[-1] == res[t3] * 5:t3 += 1return res[-1]

转载于:https://www.cnblogs.com/Lee-yl/p/10011431.html

算法63----丑数【动态规划】相关推荐

  1. [剑指offer]面试题第[49]题[Leetcode][第264题][JAVA][丑数][动态规划][堆]

    [问题描述][中等] [解答思路] 1. 动态规划 时间复杂度:O(N) 空间复杂度:O(N) class Solution {public int nthUglyNumber(int n) {int ...

  2. leetcode算法题--丑数 II★

    原题链接:https://leetcode-cn.com/problems/ugly-number-ii/ 三指针 int nthUglyNumber(int n) {int a = 0, b = 0 ...

  3. Python | 动态规划解决“返回第n个丑数”

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 ...

  4. java丑数算法_LintCode Java算法练习(4)-----丑数II

    题目:题目 1 = 2^0 * 3^0 * 5^0 2 = 2^1 * 3^0 * 5^0 3 = 2^0 * 3^1 *5^0 . . . 依次类推,这便是丑数 假设  uglyNumber = 2 ...

  5. 算法题3 寻找丑数数值逼近

    题目 只包含因子2.3.5的数字被称为丑数.例如4和6是丑数,而14不是丑数,因为含有因子7.习惯上把1作为第一个丑数.求按从小到大顺序的第1500个丑数. 分析 假设一个丑数顺序数组ugly_num ...

  6. 程序员面试题精选100题(37)-寻找丑数[算法]

    题目:我们把只包含因子 2. 3和 5的数称作丑数(Ugly Number).例如 6. 8都是丑数,但 14不是,因为它包含因子 7.习惯上我们把 1当做是第一个丑数.求按从小到大的顺序的第 150 ...

  7. 每日一道算法题-寻找丑数

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 题目:我们把只包含因子2.3和5的数称 ...

  8. 数据结构与算法--丑数

    找出排在第n位大的丑数 丑数:我们将只包含质因子 2,3,5的数称为丑数(ugly Number).求按从小到大的熟悉怒排列的低1500 个丑数.例如6,8 都是丑数,但是14 不是丑数,因为他包含质 ...

  9. 86. Leetcode 264. 丑数 II (动态规划-基础题)

    给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...

  10. 【数据结构与算法】之深入解析“丑数II”的求解思路与算法示例

    一.题目要求 给你一个整数 n ,请你找出并返回第 n 个丑数. 丑数就是只包含质因数 2.3 和(或) 5 的正整数. 示例 1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5 ...

最新文章

  1. 【运维学习笔记】生命不息,搞事开始。。。
  2. 以太坊公链私链_如何使用以太坊构建汽车制造供应链系统
  3. 乏善可陈的Neuralink
  4. java 包含汉字,【转载】Java判断字符串中是不是包含汉字
  5. 使用.Net平台构建企业应用系统场(下)
  6. Linux expr命令、Linux wc命令、Linux let 命令
  7. html文字...点击后全部显示,js 文字超出部分隐藏、点击显示更多示例
  8. FreeRTOS移植到STM32F103
  9. 编写区块链_编写由区块链驱动的在线社区的综合指南
  10. HBase全网最佳学习资料汇总
  11. Tomcat+Spring+Quartz Restart or shutdown error
  12. pytorch扩展——如何自定义前向和后向传播
  13. 从 HTTP 到 HTTPS - 什么是 HTTPS
  14. C# 插件构架实战(Jack H Hansen )
  15. 【车间调度】基于matlab差分进化算法求解作业车间调度问题【含Matlab源码 1743期】
  16. Android音乐播放器demo
  17. 一文掌握vscode远程调试python代码
  18. WindowsNT/2000的系统日志文件
  19. 哈佛幸福课中提到的书_借助虚拟现实,在哈佛最大的班级中排在前列
  20. java模拟登录qq邮箱_使用Java实现qq邮箱发送邮件

热门文章

  1. 你可能没听过的11个Python库,你有认识的吗?
  2. DataFountain新上两项CV算法竞赛(文化传承——汉字书法多场景识别、大数据医疗——肝癌影像AI诊断)——50万巨奖等你来拿!
  3. CNN看清世界——浅谈四个经典网络的差异
  4. 山师计算机学硕分数线,2020山东师范大学考研复试分数线已公布
  5. 计算机模拟病例考试试题,计算机模拟病例考试评分方法的研究概述
  6. mysql 存入图_c# 如何向mysql数据库中存入图片
  7. Oracle中随机抽取N条记录,使用Oracle分析函数随机抽取N条记录
  8. 分别求两个整数的最大公约数和最小公倍数。_看不懂辗转相除法求最小公约数?以身相许那种哦!...
  9. 前端技术的概括以及html的基本知识总结
  10. webpack 配置 react-pro