diff --git a/contains-duplicate/sonjh1217.swift b/contains-duplicate/sonjh1217.swift new file mode 100644 index 0000000000..1ad3ae4fd2 --- /dev/null +++ b/contains-duplicate/sonjh1217.swift @@ -0,0 +1,14 @@ +class Solution { + // time O(n) / space O(n) + func containsDuplicate(_ nums: [Int]) -> Bool { + var numSet = Set() + for num in nums { + if numSet.contains(num) { + return true + } + numSet.insert(num) + } + + return false + } +} diff --git a/two-sum/sonjh1217.swift b/two-sum/sonjh1217.swift new file mode 100644 index 0000000000..ebbf8c5216 --- /dev/null +++ b/two-sum/sonjh1217.swift @@ -0,0 +1,15 @@ +class Solution { + // time O(n) / space O(n) + func twoSum(_ nums: [Int], _ target: Int) -> [Int] { + var indicesByCounters = [Int: Int]() + for (i, num) in nums.enumerated() { + if let index = indicesByCounters[num] { + return [index, i] + } + + indicesByCounters[target - num] = i + } + + return [] + } +}