方法一:
先將數(shù)組排序七兜,然后順序掃描數(shù)組克伊。直到發(fā)現(xiàn)有重復(fù)數(shù)字;
時間:O(nlogn)
空間:O(l)
方法二:
用一個HashMap,順序掃描數(shù)組撮躁,如果HashMap沒有包含當(dāng)前數(shù)字漱病,就把這個數(shù)字放入HashMap,否則,就為重復(fù)數(shù)字把曼。
時間:O(n)
空間:O(n)
方法三:
順序掃描數(shù)組杨帽,判斷當(dāng)前掃描的每個數(shù)字是否滿足 numbers[i]=i ,如果不滿足嗤军,則說明這個數(shù)字不在對應(yīng)的位置上注盈,于是把將這個數(shù)字與numbers[numbers[i]]交換,如果掃描某個數(shù)字的過程中發(fā)現(xiàn)numbers[i]=numbers[numbers[i]]叙赚,則說明numbers[i]在i 位置和numbers[i]位置出現(xiàn)了兩次老客,所以是重復(fù)數(shù)字僚饭。
時間:O(n)
空間:O(l)