陣列 陣列中重複的數字

2021-09-13 13:56:26 字數 1358 閱讀 1990

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

思路:python **實現:

// an highlighted block

import collections

class

solution

: # 這裡要特別注意~找到任意重複的乙個值並賦值到duplication[0]

# 函式返回true/false

def duplicate

(self, numbers, duplication)

: # write code here

flag=false

c=collections.

counter

(numbers)

for k,v in c.

items()

:if v>1:

duplication[0]

=k flag=true

break

return flag

python**實現2:

// an highlighted block

class

solution

: # 這裡要特別注意~找到任意重複的乙個值並賦值到duplication[0]

# 函式返回true/false

def duplicate

(self, numbers, duplication)

: # write code here

for i in

range

(len

(numbers)):

if numbers[i]

!= i:

temp = numbers[numbers[i]

]if temp == numbers[i]

: duplication[0]

= numbers[i]

return true

else

: numbers[numbers[i]

]= numbers[i]

numbers[i]

= temp

return false

陣列 陣列中的重複數字

題目描述 給定乙個長度為n的陣列,所有的陣列都在0到n 1的範圍內,請找出陣列內的任意乙個重複數字。分析 1.將陣列排序,然後從頭遍歷到第乙個重複數字為止 2.由於陣列長度為n且範圍是 0,n 1 那麼當陣列沒有重複元素時,將其排序的結果是對應下標裡的數字等於下標,則我們可以從arr 0 開始,若a...

陣列 找出陣列中重複的數字

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

陣列 有限陣列中重複的數字

在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是乙個重複的數字2。基本思路 由於陣列內元素的值限定在 0,n 區間內,採用快速hash的方式 o n 時間複雜度 快速定位並及時退出 bool...