zoukankan      html  css  js  c++  java
  • 牛客(33)丑数

        //    题目描述
    //    把只包含因子2、3和5的数称作丑数(Ugly Number)。
    //    例如6、8都是丑数,但14不是,因为它包含因子7。
    //    习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
        public static int GetUglyNumber_Solution(int index) {
            if (index<=0){
                return 0;
            }
            ArrayList<Integer> arrayList = new ArrayList<Integer>();
            arrayList.add(1);
            int num2 = 0;
            int num3 = 0;
            int num5 = 0;
            while (arrayList.size()<index){
                int nextNum2 = arrayList.get(num2)*2;
                int nextNum3 = arrayList.get(num3)*3;
                int nextNum5 = arrayList.get(num5)*5;
    
                int min = nextNum2<nextNum3?nextNum2:nextNum3;
                    min = min<nextNum5?min:nextNum5;
    
                arrayList.add(min);
    
                if (nextNum2 == min){
                    num2++;
                }
                if (nextNum3 == min){
                    num3++;
                }
                if (nextNum5 == min){
                    num5++;
                }
            }
            return arrayList.get(index-1);
        }
  • 相关阅读:
    HTTPS
    RPC
    2017.4.19上午
    2017.4.18下午
    2017.4.18上午
    2017.4.17下午
    2017.4.17上午
    2017.4.14下午
    2017.4.14上午
    2017.4.13下午
  • 原文地址:https://www.cnblogs.com/kaibing/p/9040770.html
Copyright © 2011-2022 走看看