1. 程式人生 > >LintCode Java——醜數

LintCode Java——醜數

設計一個演算法,找出只含素因子2,3,5 的第 n 小的數。

符合條件的數如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12…

注意事項
我們可以認為1也是一個醜數

樣例
如果n = 9, 返回 10

public int nthUglyNumber(int n) {
        // write your code here
         int[] num;
         num = new int[n+1];
         int p2,p3,p5;
         p2=p3=p5=0;
         num[0]=1;

        for
(int i=1;i<n;i++) { num[i]=min(min(num[p2]*2,num[p3]*3),min(num[p2]*2,num[p5]*5)); if(num[i]==num[p2]*2) ++p2; if(num[i]==num[p3]*3) ++p3; if(num[i]==num[p5]*5) ++p5; } return num[n-1
]; } public int min(int a,int b){ if(a>b){ return b; }else{ return a; } }

相關推薦

LintCode Java——

設計一個演算法,找出只含素因子2,3,5 的第 n 小的數。 符合條件的數如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12… 注意事項 我們可以認為1也是一個醜數 樣例 如果n = 9, 返回 10 public int

LintCode.517.

Lintcode醜數原題 題目描述: 寫一個程式來檢測一個整數是不是醜數。 醜數的定義是,只包含質因子 2, 3, 5 的正整數。比如 6, 8 就是醜數,但是 14 不是醜數以為他包含了質因子 7。 注意事項 可以認為 1 是一個特殊的醜數。 您在真實的面試中

《劍指offer》系列 Java

連結 牛客:醜數 題目描述 把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 思路 醜叔一定是2 3 或是 5的倍數 i2 i3 i5

JAVA

題目描述:只包含素因子2,3,5的數就是醜數。例如2,4,6,8,10都是醜數,預設第一個醜數是1。求第n個醜數。 思路:依次計算出醜數,設定三個指標,依次從小到大遍歷這些求出的醜數,將這些指標所指的數分別乘2、3、5,再比較大小,將小的放進佇列。 public stat

《程式設計師程式碼面試指南》問題——java實現

醜數問題 題目描述: 規定1是醜數,其他的數如果只含有2或3或5的因子,那麼這個 數也是醜數。 比如依次的醜數為:1,2,3,4,5,6,8,9,10,12,15… 求第n個醜數 題目難度: easy 題目思路: 思路一: 本題要求出第n個醜數,分為兩個步驟

劍指offer:java

package Second; /** * 題目: * 把只包含質因子2、3和5的數稱作醜數(Ugly Number)。 * 例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。

劍指offer程式設計題(JAVA實現)——第33題:

github https://github.com/JasonZhangCauc/JZOffer 劍指offer程式設計題(JAVA實現)——第33題:醜數 題目描述

lintcode II

描述 設計一個演算法,找出只含素因子2,3,5 的第 n 小的數。 符合條件的數如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12... 我們可以認為1也是一個醜數 解法:只含素因子2或3或5的數可以表示成。 假設我們得到了上一個醜數,

leetcode263. Ugly Number(JAVA實現

Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers whose prime factors only include 2,

劍指Offer面試題34: Java實現

題目:醜數     我們把包含因子2,3,和5的數稱作醜數(Ugly Number)。求按從小到大的順序的第1500個醜數。例如6,8都是醜數,但14不是,因為它包含因子7.習慣上,我們把1當做第一個醜數。 演算法分析: 1.所謂一個數m是另一個數n的因子,是指n能

尋找Java實現

題目:把只包含因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。  醜數即:可分解為質數的乘積,且質數只能是2,3或5。   Java實現程式碼如下:

LeetCode-313. Super Ugly Number (JAVA)超級

313. Super Ugly Number Write a program to find the nth super ugly number. Super ugly numbers are p

劍指offer--Java

題目描述:把只包含因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。思路解析:首先,醜數的定義要明確,只能被2、3、5整除;其次,兩種方法:基本方法是挨個去

劍指offer-Java

題目描述 把只包含因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 思路

劍指Offer-32.(C++/Java)

題目: 把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 分析: 可以從1開始去判斷每一個數是不是醜數,即判斷數字是不是隻能被2,3,5整除。當然這樣比較耗時。 每一個醜數都是

關於Java 拷貝組方法 Arrays.copyOf() 是地址傳遞還是值傳遞

clone images java 地址 tput mage alt 元素 color 基本元素為對象時,淺拷貝,拷貝引用(ArrayList 的clone()調用Arrays.copyof(),官方文檔註明為淺拷貝) class A{ int

java據基礎

邏輯 結果 ring 浮點 -128 string 字符型 str 例題 java的基礎數據     基礎數據類型(整數型)       byte---> 2的8次方(取值範圍)           256         -127---128     

java基本據類型

運算符 float 數組 true bool -128 != har 浮點 Java的基礎數據 基礎數據類型: byte-->2的8次方 256 -127--128 short-->2的16次方 int-->32次方 long-->

最全面的Java字節byte操作,處理Java基本據的轉換及進制轉換操作工具,流媒體及java底層開發項目常用工具類

進制 string 常用工具類 cat i++ logs 指定位置 tput off 前言:用於處理Java基本數據的轉換及進制轉換操作工具 一、實現功能 1、int預byte互轉 2、int與byte[]互轉 3、short與byte互轉 4、short與byte[]互轉

Java讀取據庫據生成柱狀圖

idl false create 統計 引入 chart console splay 數據 此案例是用swing顯示數據的。須要引入jfreechart相關包。不同版本號可能包不同樣。本人用的是 此案例在ssi框架下會報錯,不用框架就沒問題。 Java後臺邏輯代碼: p