陣列中重複的數字

2021-07-27 03:00:42 字數 735 閱讀 2107

題目描述

在乙個長度為n的陣列裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。 例如,如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。

演算法解析:如果乙個長度為n的陣列的所有數字都在0 到n-1的範圍內,那麼排序後,如果不重複,則一定有data[i] = i,如果存在乙個data[data[i]] = i,且data[data[i]] != data[i],所以現在讓我們從頭到尾這個陣列,當我們掃瞄到下標為i的數字的時候,如果這個數字m不等於i,則將他和第m個數字比較,如果兩者相等,則有乙個重複數字,如果不同,則交換兩個數字,接下來重複這個過程。

**如下:

public

boolean

duplicate(int numbers,int length,int duplication)

for (int i = 0; i < length; i++)

for (int i = 0; i < length; i++)

int temp = numbers[i];

numbers[i] = numbers[temp];

numbers[temp] = temp;}}

return

false;

}

陣列 陣列中重複的數字

在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。思路 python 實現 an highlighted block ...

陣列中重複的數字

在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道哪幾個 數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。例如 如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。include iostream using namespace ...

陣列中重複的數字

題目 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。思路 用雜湊表解決的時間複雜度和空間複雜度為o n 因為陣列中...