劍指offer 3 陣列中重複的數字

2021-10-04 10:02:47 字數 748 閱讀 6102

在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

使用hashset去重 如果新增不成功說明出現了重複的元素 返回。

public

intfindrepeatnumber

(int

nums)

setset =

newhashset

();int repeat =-1

;for

(int num : nums)

}return repeat;

}

時間複雜度:o(n)

將陣列中的元素當成下標儲存到陣列中去,如果沒有重複的就說明無重複數 否則有重複數字

public

boolean

duplicate

(int

nums,

int length,

int[

] duplication)

swap

(nums, i, nums[i]);

}}return

false;}

private

void

swap

(int

nums,

int i,

int j)

時間複雜度:o(n)

劍指offer (3)陣列中重複的數字

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

劍指offer 3 陣列中重複的數字

變試 不修改陣列找重複陣列 在乙個長度為n的陣列裡的所有數字都在0 n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字 n 7 輸出 2或3 陣列中的數字在0 n 1的範圍內 如果沒有重複的數字,當陣列排序後數字 i 應該出現...

劍指offer 3 陣列中重複的數字

找出陣列中重複的數字。在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 1 輸入 2,3,1,0,2,5,3 輸出 2 或 3 限制 2 n 100000 本...