利用堆排序很容易進行查詢
質數又稱素數。乙個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。質因數(素因數或質因子)在數論裡是指能整除給定正整數的質數。除了1以外,兩個沒有其他共同質因子的正整數稱為互質。因為1沒有質因子,1與任何正整數(包括1本身)都是互質
把只包含質因子2、3和5的數稱作醜數(ugly number)。例如6、8都是醜數,但7.14不是,因為它們包含質因子7。 習慣上我們把1當做是第乙個醜數
class ugly
getall ()
}// k===l有兩種情況,1.壓根沒有質因數,2.質因數都在指定列表中
if (k === l)
} else
}i++
}// 返回醜數陣列
return res[this.n - 1]
} // 計算指定正整數n的質因數
static getprimies (n)
}return arr
}return prime(n)
}}class heap
sort () else
return iarr
}} find (val, i = 0) else if (val === arr[i]) else
} static swap (arr, a, b)
// 交換
let c = arr[a]
arr[a] = arr[b]
arr[b] = c
} // 構建最大堆
static maxheapify (arr, i, size)
// 右節點額最大值比較
if (r <= size && arr[r] > arr[largest])
if (largest !== i)
}}export default ugly
export
超級醜數 用查詢的api解決
質數又稱素數。乙個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數 否則稱為合數。質因數 素因數或質因子 在數論裡是指能整除給定正整數的質數。除了1以外,兩個沒有其他共同質因子的正整數稱為互質。因為1沒有質因子,1與任何正整數 包括1本身 都是互質 把只包含質因子2 3和5的數稱作...
leetcode超級醜數
1.n個指標 設primes.size n,則設定n個指標,初始為0,分別指向結果陣列中有資格與primes 0 primes n 1 相乘的元素的下標,取最小值,且最小值對應的指標的值加1,如下 class solution public int nthsuperuglynumber int n,...
313 超級醜數
題目描述 編寫一段程式來查詢第 n 個超級醜數。超級醜數是指其所有質因數都是長度為 k 的質數列表 primes 中的正整數。示例 輸入 n 12,primes 2,7,13,19 輸出 32 解釋 給定長度為 4 的質數列表 primes 2,7,13,19 前 12 個超級醜數序列為 1,2,4...