剑指Offer--丑数
来源:互联网 发布:贵州省网络测评中心 编辑:程序博客网 时间:2024/05/23 12:08
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
public class 丑数 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(GetUglyNumber_Solution(7));}/*每一个丑数都是由前面的丑数乘以2,或者3,或者5得到的;开头第一个丑数是1,1乘以2,3,5得到的数里面最小的是2,所以dp[1]=2; *但是3,5还没用到,因为他们比较大嘛。然后第三个丑数由上一个丑数2乘以2得到4 和3,5,比较。较小的是3 所以dp[2]=3 *继续下去就*/ public static int GetUglyNumber_Solution(int index) { if (index==0||index<0) {return 0;} int[] dp= new int[index]; dp[0] = 1; int index2 = 0,index3 = 0, index5 = 0; for (int i = 1; i < dp.length; i++) {dp[i] = min(dp[index2]*2,dp[index3]*3,dp[index5]*5);if (dp[index2]*2==dp[i]) index2++;if (dp[index3]*3==dp[i]) index3++;if (dp[index5]*5==dp[i]) index5++;} return dp[index-1]; }private static int min(int i, int j, int k) {// TODO Auto-generated method stubint min = (i>j)?j:i;return min>k?k:min;}}
阅读全文
0 0
- 【剑指offer】丑数
- 剑指offer-丑数
- 《剑指offer》丑数
- 【剑指Offer】丑数
- 剑指offer:丑数
- 剑指offer-丑数
- [剑指offer]丑数
- 剑指offer:丑数
- [剑指offer]丑数
- 《剑指offer》-丑数
- 剑指offer----丑数
- 剑指offer|丑数
- 剑指offer-丑数
- 剑指Offer:丑数
- 剑指offer--丑数
- 剑指offer-丑数
- 剑指offer 丑数
- 剑指offer-丑数
- SQL 创建计算字段
- 详解语音处理检测技术中的热点——端点检测、降噪和压缩
- java 类加载顺序
- 模拟实现C库的memcpy和memmove。
- 免费馅饼--DP
- 剑指Offer--丑数
- Android——UI篇:关于Fragment的构造参数打包release版本报错的问题
- 关于Android Studio集成Hbuilder开发个推项目不能获取Clientid的问题说明
- 剑指Offer:机器人的运动范围
- 十五分钟了解朱利亚集
- 微信公众号--->java
- 一句话告诉你:java自动装箱 == 判定结果
- 设计模式六大原则
- 如何防止移动设备对系统的造成危险?