劍指offer 陣列中重複的數字

2021-07-11 20:03:48 字數 759 閱讀 1278

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

分析:雖然也ac了,但是沒仔細看題,可以利用題目已有條件做到更簡單的。我的想法是用乙個容器儲存已經出現的數字,如果能在容器裡找到,那麼把他加到重複數字陣列裡。

**: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) {

if(length<2) return false;

unordered_sets;

int k=0;

for(int i=0;i

劍指offer 陣列中重複的數字

題目描述 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。class solution 考慮這種非法輸入 for i...

劍指offer 陣列中重複的數字

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

劍指offer 陣列中重複的數字

題目 劍指offer 陣列中重複的數字 這個題我覺得其實它也沒說清楚,看了注釋才明白。要得到所有重複的數字。那我就判斷一下,第一次重複數字出現的時候得到,通過first標記來判斷是不是第一次。class solution else if numbers i 1 numbers i first 1 r...