剑指Offer:面试题34——丑数(java实现)
来源:互联网 发布:我的世界一键生成js 编辑:程序博客网 时间:2024/05/18 03:51
问题描述:
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
思路1:(显然是比较耗时的)
直接去判断每个整数是不是丑数,然后找到第N个小的数。(牛客网提交超时)
public int GetUglyNumber_Solution(int index) { if(index <= 0){ return 0; } int number = 0; int found = 0; while(found < index){ number++; if(is_UglyNumber(number)){ found++; } } return number; } boolean is_UglyNumber(int n){ while(n % 2 == 0){ n /= 2; } while(n % 3 == 0){ n /= 3; } while(n % 5 == 0){ n /= 5; } return (n == 1) ? true : false; }
思路2:
上面想法在非丑数上也花费时间去判断它,如何避免这种情况呢?即我们只考虑丑数而不考虑非丑数。
0 0
- 剑指Offer面试题34:丑数 Java实现
- 剑指Offer:面试题34——丑数(java实现)
- 剑指offer——面试题34:丑数
- 剑指offer——面试题34:丑数
- 剑指Offer面试题34(java版):丑数
- 剑指Offer面试题34(Java版):丑数
- [剑指offer][面试题34]丑数
- [剑指offer]面试题34:丑数
- 剑指Offer:面试题34 丑数
- 剑指offer 面试题34 丑数
- 剑指offer-面试题34:丑数
- 剑指offer面试题34:丑数
- 剑指Offer----面试题34:丑数
- 剑指offer面试题34:丑数
- 剑指offer--面试题34:丑数
- 【剑指offer】面试题34-丑数
- 剑指offer-面试题34-丑数
- 剑指offer-面试题34-丑数
- linux常用命令
- iOS开发之--XCode快捷键
- 浅谈JavaEE中的JDBC模板类的封装实现以及合理的建立项目包结构(一)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
- 升级Xcode8后的相机crash问题-IOS10权限问题
- 剑指Offer:面试题34——丑数(java实现)
- poj3270
- 并查集
- HDU 1542 Atlantis(线段树,离散化,扫描线)
- CrackingtheCodeInterview之排序与查找
- Linux小知识
- BZOJ2526: [Poi2011]Inspection
- 成长小计 - Swift小结
- Cookie的介绍和使用