題目描述
在乙個長度為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 因為陣列中...