python 求按從小到大的順序的第N個醜數

2021-10-23 06:37:34 字數 568 閱讀 5716

人工智慧ai:keras pytorch mxnet tensorflow paddlepaddle 深度學習實戰(不定時更新)

把只包含因子2、3和5的數稱作醜數(ugly number)。

例如6、8都是醜數,但14不是,因為它包含因子7。

習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。

def ugly(n):

res = [1]

if n <=1 :

return max(n,0)

else:

index2, index3, index5 = 0,0,0

i = 0

while i < n:

i += 1

if res[i] == res[index2]*2:

index2 += 1

if res[i] == res[index3]*3:

index3 += 1

if res[i] == res[index5]*5:

index5 += 1

return res[n-1]

氣泡排序(從小到大)

氣泡排序是一種極其簡單的排序演算法,也是我所學的第乙個排序演算法。它重複地走訪過要排序的元素,一次比較相鄰兩個元素,如果他們的順序錯誤就把他們調換過來,直到沒有元素再需要交換,排序完成。這個演算法的名字由來是因為越小 或越大 的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演算法的運作如下 比較相鄰...

用python實現將陣列元素按從小到大的順序排列

def findsmallest arr smallest arr 0 將第乙個元素的值作為最小值賦給smallest smallest index 0 將第乙個值的索引作為最小值的索引賦給smallest index for i in range 1,len arr if arr i smalle...

氣泡排序詳解(從小到大)

實現 將數列中的第乙個元素和第二個元素比較數值大小,若第乙個元素比第二個元素大,則交換位置。然後再將第二個元素和第三個元素比較數值大小,第三個元素和第四個元素比較 依次不斷地比較,交換。不斷迴圈比較,直到不再發生交換,這就表明排序已完成,此時得到就是乙個有序數列。簡單來說就是不斷迴圈比較數列中相鄰元...