剑指offer-丑数
Posted 浮生缘,半生梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-丑数相关的知识,希望对你有一定的参考价值。
题目描述:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
思路:先进行了存储
ac代码:
1 import java.util.ArrayList; 2 public class Solution { 3 static ArrayList<Integer>list=new ArrayList<Integer>(); 4 static { 5 for(int i=0;i<7;i++) 6 list.add(i); 7 for(int i=8;i<=1000000000;i++) 8 { if(isCh(i)) 9 list.add(i); 10 } 11 } 12 public int GetUglyNumber_Solution(int index) { 13 return list.get(index); 14 } 15 static boolean isCh(int n){ 16 while(n%2==0||n%3==0||n%5==0){ 17 if(n%2==0) 18 n=n/2; 19 if(n%3==0) 20 n/=3; 21 if(n%5==0) 22 n/=5; 23 } 24 if(n==1) 25 return true; 26 return false; 27 } 28 }
以上是关于剑指offer-丑数的主要内容,如果未能解决你的问题,请参考以下文章