第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用插入排序查找重復(fù)項(xiàng)

使用插入排序查找重復(fù)項(xiàng)

莫回?zé)o 2023-11-09 21:43:47
def find_duplicate(arr):    for i in range(1, len(arr)):        cur = arr[i]        j = i        while j > 0 and arr[j - 1] > cur:            arr[j] = arr[j - 1]            j -= 1        arr[j] = cur        if arr[j-1] == cur:            arr[j] = cur            return f"This is the duplicate {cur}, {arr}"        else:            arr[j] = cur    print("no dupes")    return arrprint(find_duplicate([1,-5,3,4,-10,100,250,-325,100]))當(dāng)我在數(shù)組末尾添加 100 時(shí),它會(huì)被排序,重復(fù)值顯示為 100 并且數(shù)組已正確排序,但是當(dāng)我在末尾添加負(fù)數(shù)(例如 -5)作為重復(fù)值時(shí),它不會(huì)排序-5 但有些人如何理解這個(gè)數(shù)字是重復(fù)的。我究竟做錯(cuò)了什么?請(qǐng)查看我提到的兩個(gè)數(shù)組作為輸入:arr = [1,-5,3,4,-10,100,250,-325,100] <- 100 結(jié)束arr = [1,-5,3,4,-10,100,250,-325,-5] <- -5 結(jié)束print(find_duplicate([1,-5,3,4,-10,100,250,-325,100]))print(find_duplicate([1,-5,3,4,-10,100,250,-325,-5]))# OUTPUT BELOW:This is the duplicate 100, [-325, -10, -5, 1, 3, 4, 100, 100, 250]This is the duplicate -5, [-5, 1, 3, 4, -10, 100, 250, -325, -5]更新:當(dāng)再次運(yùn)行這個(gè)時(shí)print(find_duplicate([1,-5,3,4,-10,100,250,-325,-5,10]))this is the duplicate -5, [-325, -10, -5, -5, 1, 3, 4, 100, 250, 10]似乎它只是不斷附加數(shù)字,而不是在找到重復(fù)項(xiàng)后對(duì)它們進(jìn)行排序
查看完整描述

1 回答

?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊

你的邏輯是正確的,除了return里面的陳述if


def find_duplicate(arr):

    dup = None  # set this to none to act as flag

    for i in range(1, len(arr)):

        cur = arr[i]

        j = i

        while j > 0 and arr[j - 1] > cur:

            arr[j] = arr[j - 1]

            j -= 1

        arr[j] = cur

        if arr[j-1] == cur:

            arr[j] = cur

            dup = cur

        else:

            arr[j] = cur

    if dup is None:  # check if a duplicate was found

        print("no dupes")

        return arr

    else:

        return f"This is the duplicate {dup}, {arr}"



print(find_duplicate([1,-5,3,4,-10,100,250,-325,-5]))


print(find_duplicate([1,-5,3,4,-10,100,250,-325,100]))


print(find_duplicate([1,-5,3,4,-10,100,250,-325,-5,10]))

輸出

This is the duplicate -5, [-325, -10, -5, -5, 1, 3, 4, 100, 250]

This is the duplicate 100, [-325, -10, -5, 1, 3, 4, 100, 100, 250]

This is the duplicate -5, [-325, -10, -5, -5, 1, 3, 4, 10, 100, 250]


查看完整回答
反對(duì) 回復(fù) 2023-11-09
  • 1 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)