python 找出陣列重複的元素

2022-02-21 17:35:20 字數 657 閱讀 9004

"""

從頭掃到尾,只要當前元素值與下標不同,就做一次判斷,numbers[i]與numbers[numbers[i]],

相等就認為找到了重複元素,返回true,否則就交換兩者,繼續迴圈。直到最後還沒找到認為沒找到重複元素。

"""# -*- coding:utf-8 -*-

def repeat_num(arraya: list) -> int:

dup ={}

for index, value in enumerate(arraya):

if value != index: #如果當前元素和當前元素的下標不相同

if value == arraya[value]:#如果當前元素和當前元素作為下標的元素存在,說明重複

dup[index]=value

else:

arraya[index], arraya[value] = arraya[value], arraya[index] #互換之後,當前元素作為下標的元素和當前元素一致。

return dup

if __name__ == '__main__':

d = repeat_num([1,2,3,4,4,5,6,5,2,2,3,7,7,5])

print(d)

找出陣列中重複的元素

方法一 使用位圖法,再申請乙個陣列b,用b a i 儲存a i 的重複次數 方法二 使用map對映表。map是乙個容器。第乙個元素為關鍵字key,第二個元素為關鍵字的值。這裡是map的基本用法 include include using namespace std bool findmostfreq...

python實現找出陣列中唯一的重複元素

題目描述 數字 l 1000放在含有 1001 個元素的陣列中,其中只有唯一的乙個元素值重複,其他數 字均只出現一次。設計乙個演算法,將重複元素找出來,要求每個陣列元素只能訪問一次。如 果不使用輔助儲存空間,能否設計 一 個 演算法實現?分析 計算機技術與數學本身是一家 拋開計算機專業知識不提,上述...

找出陣列中唯一的重複元素

問題 1 1000放在含有1001個元素的陣列中,只有唯一的乙個元素值重複,其它均只出現一次。每個陣列元素只能訪問一次,設計乙個演算法,將它找出來 不用輔助儲存空間,能否設計乙個演算法實現?include include include 根據異或法的計算方式,每兩個相異的數執行異或運算之後,結果為1...