在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Given an array of numbers Example: Input: Note:
给定一个整数数组 示例 : 输入: 注意:
76ms 1 class Solution { 2 func singleNumber(_ nums: [Int]) -> [Int] { 3 4 var res = [0, 0] 5 var diff = nums.reduce(0){$0 ^ $1} 6 diff &= -diff 7 for num in nums { 8 if num & diff != 0 { 9 res[0] ^= num 10 } 11 else { 12 res[1] ^= num 13 } 14 } 15 return res 16 } 17 } 76ms 1 class Solution { 2 func singleNumber(_ nums: [Int]) -> [Int] { 3 guard nums.count > 1 else { 4 return nums 5 } 6 7 var result = nums[0] 8 for num in nums[1...] { 9 result ^= num 10 } 11 12 var num1 = 0, num2 = 0, tmp = 1 13 while (result & tmp) == 0 { 14 tmp <<= 1 15 } 16 17 for num in nums { 18 if (num & tmp) > 0 { 19 num1 ^= num 20 } 21 else { 22 num2 ^= num 23 } 24 } 25 26 return [num1, num2] 27 } 28 } 80ms 1 class Solution { 2 func singleNumber(_ nums: [Int]) -> [Int] { 3 var s: Set<Int> = Set(minimumCapacity: nums.count) 4 for i in nums { 5 if s.contains(i) { 6 s.remove(i) 7 } else { 8 s.insert(i) 9 } 10 } 11 return Array(s) 12 } 13 } 84ms 1 class Solution { 2 func singleNumber(_ nums: [Int]) -> [Int] { 3 var array = nums.sorted() 4 // print(array) 5 var output:[Int] = [] 6 7 var i = 0 8 while i < array.count { 9 if i == array.count - 1 || array[i] != array[i+1] { 10 output.append(array[i]) 11 } else { 12 i += 1 13 } 14 i += 1 15 if output.count > 1 { 16 break 17 } 18 } 19 20 return output 21 } 22 } 84ms 1 class Solution { 2 func singleNumber(_ nums: [Int]) -> [Int] { 3 var result = [Int]() 4 var temp = nums.sorted() 5 for i in 0..<temp.count { 6 if i == 0 { 7 if temp[i] != temp[i+1] { 8 result.append(temp[i]) 9 } 10 } else if i == temp.count - 1{ 11 if temp[i] != temp[i-1] { 12 result.append(temp[i]) 13 } 14 } 15 else { 16 if temp[i] != temp[i-1] && temp[i] != temp[i+1]{ 17 result.append(temp[i]) 18 } 19 } 20 } 21 return result 22 } 23 }
|
请发表评论