陣列 陣列中的重複數字

2021-07-16 06:46:55 字數 456 閱讀 8277

題目描述:

給定乙個長度為n的陣列,所有的陣列都在0到n-1的範圍內,請找出陣列內的任意乙個重複數字。

分析:

1. 將陣列排序,然後從頭遍歷到第乙個重複數字為止;

2. 由於陣列長度為n且範圍是[0, n-1],那麼當陣列沒有重複元素時, 將其排序的結果是對應下標裡的數字等於下標,則我們可以從arr[0]開始,若arr[i] == i,則i++, 否則就比較arr[i]和arr[arr[i]],若相等就說明有重複數字,否則就swap(arr[i], arr[arr[i]]);然後重複這些過程直到找到重複數字或遍歷完整個陣列為止.

bool func(int number, int length, int *num)

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

return

false;

}

陣列 陣列中的重複數字

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

陣列 陣列中的重複數字

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

陣列中重複數字

題目描述 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中第乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。返回描述 如果陣列中有重複的數字,函式返回true,否則返回...