在乙個長度為n的陣列裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中第乙個重複的數字。 例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。
返回描述:
如果陣列中有重複的數字,函式返回true,否則返回false。
如果陣列中有重複的數字,把重複的數字放到引數duplication[0]中。(ps:duplication已經初始化,可以直接賦值使用。)
這個題跟40題很像。
劍指offer40–陣列中只出現一次的數字
直接雜湊遍歷兩遍:
public
:// parameters:
// numbers: an array of integers
// length: the length of array numbers
// duplication: (output) the duplicated number in the array number
// return value: true if the input is valid, and there are some duplications in the array number
// otherwise false
bool
duplicate
(int numbers,
int length,
int* duplication)
for(
int i=
0;i)//第二遍找第乙個重複的數字,找到立馬返回
}return0;
}};
劍指offer 50 陣列中重複的數字
在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。這道題是比較基礎,主要思路如下 首先判斷陣列是否為空,若為空直接返回...
劍指Offer(50) 陣列中重複的數字
在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。1 將陣列連線成字串變數stringbuilder 2 按位遍歷字串...
劍指offer 50 陣列中重複的數字
在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。思路 解法一 雜湊表 時間o n 空間o n class solut...