劍指Offer 50 陣列中重複的數字

2021-10-04 00:17:45 字數 854 閱讀 4729

題目描述:

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

題解一:標記法

1

public

static

boolean duplicate(int numbers, int length, int

duplication) else12}

13return

false

;14 }

題解二:hashset

1/*2

set中元素不可以重複,是無序的,執行緒不安全

3hashset:內部的資料結構是雜湊表;treeset:可以對set集合中的元素進行排序4*/

5public

static

boolean duplicate01(int numbers, int length, int

duplication) 12}

13return

false

;14 }

測試:

1

public

static

void

main(string args) ;

4int dup = new

int[len];

5boolean duplicate =duplicate(nums, len, dup);

6system.out.println(duplicate);7}

8 輸出:true

劍指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...