剑指offer--面试题34: 丑数
2016-09-27 18:14
357 查看
python实现:
题目描述
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。python实现:
# -*- coding:utf-8 -*- class Solution: def GetUglyNumber_Solution(self, index): # write code here if index==0 or index==1: return index uglyNums = [0]*index uglyNums[0] = 1 idxOf2, idxOf3, idxOf5 = 0,0,0 for i in range(1, index): uglyNums[i] = min(2*uglyNums[idxOf2], 3*uglyNums[idxOf3], 5*uglyNums[idxOf5]) if uglyNums[i]%2==0: idxOf2 += 1 if uglyNums[i]%3==0: idxOf3 += 1 if uglyNums[i]%5==0: idxOf5 += 1 i += 1 return uglyNums[-1]
相关文章推荐
- 剑指offer——面试题34:丑数
- 剑指Offer之面试题34:丑数
- 剑指offer-面试题34:丑数
- 剑指Offer:面试题34——丑数(java实现)
- 剑指Offer面试题34:丑数 Java实现
- 【剑指offer 面试题34】丑数
- 剑指Offer面试题34题:丑数(Ugly Number)(while循环里面的三个小问题)
- [剑指offer][面试题34]丑数
- 【剑指Offer学习】【面试题34:丑数】
- 剑指offer之面试题34丑数
- 【剑指Offer】面试题34:丑数
- 剑指offer 面试题34 丑数
- 剑指offer 面试题34 丑数
- 【剑指offer】5.3时间效率与空间效率的平衡——面试题34:丑数
- 剑指 offer代码解析——面试题34丑数
- 剑指offer面试题34:丑数
- 剑指Offer面试题34(Java版):丑数
- 剑指offer面试题[34]丑数
- 剑指offer——面试题34:丑数
- 剑指 offer代码解析——面试题34丑数