알고리즘/알고리즘 문제풀이
완전탐색_LeetCode_ContainsDuplicate
Downey
2021. 7. 8. 16:37
배열 내 같은 원소 유무를 확인하는 문제. 링크
처음엔 배열 내 원소를 제거해가며 전체 탐색을 진행했으나, timeOut에 걸려버림...
testCase 중 [0,0,1,2,3 ....... 9999], [0,1,2 ....... 9999,9999] 같은 애들이 있더라...
class Solution {
func containsDuplicate(_ nums: [Int]) -> Bool {
var checkingArray = nums[nums.indices]
var sol = false
while checkingArray.isEmpty != true {
let check = checkingArray.popFirst()
if checkingArray.contains(check!) {
sol = true
break
}
}
return sol
}
}
그래서 정렬하고 자신과 다음 index만을 비교하도록 수정함!
func containsDuplicate(_ nums: [Int]) -> Bool {
let checkingArray = nums.sorted()
var sol = false
for index in 0..<checkingArray.count - 1 {
if checkingArray[index] == checkingArray[index+1] {
sol = true
break
}
}
return sol
}