剑指offer 34 丑数
来源:互联网 发布:福布斯网络作家富豪榜 编辑:程序博客网 时间:2024/05/24 08:33
题目描述
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
思路
按照顺序生成丑数。把数组中每个数依次乘以2,3,5,得到的最小的数作为下一个丑数,同时记录下来下次开始遍历的index。
代码
# -*- coding:utf-8 -*-class Solution: def GetUglyNumber_Solution(self, index): # write code here if index == 0: return 0 numbers_list = [1] two_index = 0 three_index = 0 five_index = 0 while len(numbers_list) < index: two_number = 0 three_number = 0 five_number = 0 for i in range(two_index, len(numbers_list)): tmp = numbers_list[i] * 2 if tmp > numbers_list[-1]: two_index = i two_number = tmp break for i in range(three_index, len(numbers_list)): tmp = numbers_list[i] * 3 if tmp > numbers_list[-1]: three_index = i three_number = tmp break for i in range(five_index, len(numbers_list)): tmp = numbers_list[i] * 5 if tmp > numbers_list[-1]: five_index = i five_number = tmp break minnum = two_number if minnum > three_number: minnum = three_number if minnum > five_number: minnum = five_number numbers_list.append(minnum) return numbers_list[-1]
阅读全文
0 0
- 剑指offer 34- 丑数
- 剑指offer 34---丑数
- 剑指offer 34 丑数
- 【剑指offer】丑数
- 剑指offer-丑数
- 《剑指offer》丑数
- 【剑指Offer】丑数
- 剑指offer:丑数
- 剑指offer-丑数
- [剑指offer]丑数
- 剑指offer:丑数
- [剑指offer]丑数
- 《剑指offer》-丑数
- 剑指offer----丑数
- 剑指offer|丑数
- 剑指offer-丑数
- 剑指Offer:丑数
- 剑指offer--丑数
- 移动端苹果设备点击页面空白处的时候出现闪烁的情况
- 两个DIV并排
- [python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决
- ftp配置之虚拟用户
- SPC5607B的eDMA模块使用示例
- 剑指offer 34 丑数
- POJ-3321 Apple Tree (树状数组 前缀和 dfs序)
- javascript 获取字符串上某一个字符
- Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
- JDBC数据库连接池的实现
- service组件
- 轻松搭建SpringMVC、Spring和Mybatis框架
- APP模拟弱网测试
- ProxySG 记录被DLP阻挡的日志