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

示例:

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

1 是丑数。
n 不超过1690。

题目可以巧用动态规划。将前面求得的丑数记录下来,后面的丑数就是前面的丑数*2,*3,*5

class Solution(object):def nthUglyNumber(self, n):""":type n: int:rtype: int"""p2 = 0p3 = 0p5 = 0dp = []dp.append(1)for i in range(n-1):dp.append(2)for i in range(1,n):dp[i]=min(dp[p2]*2,dp[p3]*3,dp[p5]*5)if(dp[i]==dp[p2]*2):p2+=1if(dp[i]==dp[p3]*3):p3+=1if(dp[i]==dp[p5]*5):p5+=1return dp[n-1];

剑指offer 面试题49. 丑数相关推荐

  1. 剑指offer面试题49. 丑数

    题目描述 我们把只包含因子 2.3 和 5 的数称作丑数(Ugly Number).求按从小到大的顺序的第 n 个丑数. 思路 详见链接 代码 class Solution:def nthUglyNu ...

  2. 剑指offer面试题[34]丑数

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

  3. 剑指offer——面试题49:把字符串转换成整数

    剑指offer--面试题49:把字符串转换成整数 Solution1: 代码写的啰嗦,但思路清晰..LeetCode上有相似的题目并考虑了溢出,可以参考LeetCode8答案 class Soluti ...

  4. 20200329——剑指offer 面试题49:丑数

    第一种暴力算法 package question49_urgly_number;/*** @Classname Solution1* @Description TODO* @Date 2020/3/2 ...

  5. 剑指offer面试题[49]-把字符串转化为整型

    题目: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空. 输出描述: 如果是合法 ...

  6. 剑指offer——面试题34:丑数

    剑指offer--面试题34:丑数 Solution1: 最容易想到的,也是最不可能AC的 class Solution {public:int GetUglyNumber_Solution(int ...

  7. [剑指offer]面试题第[57]题[Leetcode][第167题][JAVA][和为s的两个数字][两数之和][HashSet][二分][双指针]

    [剑指offer]面试题第[57]题[Leetcode][第167题][第1题] 有序无序之分 题目输出不同之分 以下解法按照[剑指offer]面试题第[57]题进行题解 [问题描述][简单] 输入一 ...

  8. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  9. (补充)【打印1到最大的n位数】剑指offer——面试题12:打印1到最大的n位数

    剑指offer--面试题12:打印1到最大的n位数 此题在牛客网上没有OnlineJudge,在此补充两种做法. 参考网址:https://blog.csdn.net/yanxiaolx/articl ...

最新文章

  1. python学习笔记011——内置函数__module__、__name__
  2. mysql备份数据库语句6_13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复...
  3. php处理微信返回xml数据,php将微信返回的xml格式转换成数组
  4. Linux logrotate日志切割详解
  5. linux文件系统、文件系统结构、虚拟文件系统
  6. Web2.0网站性能调优实践(引用王宗义)
  7. oracle 12c dg搭建以及故障诊断
  8. mysql主从之slave-skip-errors和sql_slave_skip_counter
  9. python实现散列表的链表法
  10. Exchange 2003 和 Exchange 2007最大处理器数、内存支持比较
  11. openwrt: ipq4019 路由 资料汇总
  12. arcpy利用XY创建点
  13. MATLAB显示图像变白问题
  14. 《论英语能力从小开始培养的重要性,不一定是非要去国外》
  15. 很好的东子(干货很多)--把一个函数变成全局的方法及slideToggle()
  16. 注册微信小程序并开通微信支付流程
  17. java写一个接口_一个标准的java接口写法是怎样的?java对外接口怎么写?
  18. 黄金避险有效?量化实测黄金资产与A股轮动真实收益
  19. Android 获取蓝牙设备类型
  20. uniapp 小程序实现 RSA 加密

热门文章

  1. MySQL高级知识(七)——索引面试题分析
  2. IPAD移动端交互原型通用设计方案、ipad元件库、移动元件库、元件列表、设计元件、交互示例、界面模板、设备模板、手势图标、社交界面、音乐、电商、视图控制器、指示器、指纹解锁、手势解锁、rp元件库
  3. 城市能源管理系统、实时监测、运行监测、负荷效应、预警管理、设备管理、设备入库、设备安装、设备检修、设备报废、设备查询、控制策略、系统集成、HTML/CSS/Bootstrap/jQuery/JS
  4. macos下npm install 报错: fsevents .... permission denined
  5. django 视图模式
  6. (转)Python 字符串格式化 str.format 简介
  7. NIFI如何利用eclipse开发自己的Processor(下)
  8. jQuery cxSlide 焦点图轮换
  9. Principles of Reactive Programming 之Actors are Distributed (3)
  10. 20140524数据库课笔记