醜數:返回第n個醜數
只包含因子 2 3 5的數稱為醜數,第乙個醜數是 1
採用輔助陣列的方法,提高時間效率 – 下乙個醜數一定是已有的醜數乘以2 或者 3 或者 5 得到的
public
class _q34
while(uglyarray[index3]*3
<= uglyarray[nextuglyindex])
while(uglyarray[index5]*5
<= uglyarray[nextuglyindex])
nextuglyindex++;
}return uglyarray[nextuglyindex-1];
}private
intmininthree(int num1, int num2, int num3)
}
測試**:
public class _q34test extends testcase
}
劍指offer JAVA版題解(全)
序號 題解牛客 oj 資料結構型別 03 劍指offer 二維陣列中的查詢 二維陣列中的查詢 陣列04 劍指offer 替換空格 替換空格 字串05 劍指offer 從尾到頭列印鍊錶 從尾到頭列印鍊錶 鍊錶06 劍指offer 重建二叉樹 重建二叉樹樹07 劍指offer 用兩個棧實現佇列 用兩個棧...
劍指offer 34 醜數
只包含因子2 3 5的數稱為醜數。方法1 逐個判斷每個整數是不是醜數 方法2 建立陣列儲存已經找到的醜數,用空間換時間的方法 每乙個醜數都是前面的醜數乘以2 3 5得到的 已有醜數中最大醜數為m,下乙個醜數應該是已知醜數分別乘以2 3 5的第乙個大於m的數,記錄,每個乘以2 3 5第乙個大於m的位置...
劍指Offer 34 醜數
把只包含因子2 3和5的數稱為醜數,求從小到大的順序的第1500個數。1是第乙個醜數。乙個醜數可以表示成2m3 n5 k2 m3 n5 k 2m3n5k 其中,m n k為自然數zzz。醜數從小到大的順序其實是m n k這三個數中的其中乙個數加一。生成過程 陣列res初始化,儲存了第乙個元素res ...