Найти в Дзене
Skill Up In IT

136. Single Number

#Array#Bit Manipulation Дано непустое  множество целых чисел nums, каждый элемент встречается дважды, за исключением одного. Найдите этот единственный элемент. Необходимо реализовать решение с линейной сложностью выполнения и использовать только постоянное дополнительное пространство. Пример 1: Ввод: nums= [2,2,1] Выход: 1 Пример 2: Ввод: nums= [4,1,2,1,2] Выход: 4 Пример 3: Ввод: nums= [1] Выход: 1 Ограничения: Подсказка 1 Подумайте о свойстве оператора XOR (^). Пример решения на go func singleNumber(nums []int) int { if len(nums) == 0 { return 0 } check:=make(map[int]int) for _,num:=range nums{ check[num]++ } for i,count:=range check { if count == 1 { return i } } return 0 }

#Array#Bit Manipulation

Дано непустое  множество целых чисел nums, каждый элемент встречается дважды, за исключением одного. Найдите этот единственный элемент.

Необходимо реализовать решение с линейной сложностью выполнения и использовать только постоянное дополнительное пространство.

Пример 1:

Ввод: nums= [2,2,1]

Выход: 1

Пример 2:

Ввод: nums= [4,1,2,1,2]

Выход: 4

Пример 3:

Ввод: nums= [1]

Выход: 1

Ограничения:

  • 1 <= nums.length <= 3 * 104
  • -3 * 104 <= nums[i] <= 3 * 104
  • Каждый элемент массива встречается дважды, за исключением одного элемента, который встречается только один раз.

Подсказка 1

Подумайте о свойстве оператора XOR (^).

Пример решения на go

func singleNumber(nums []int) int {
if len(nums) == 0 {
return 0
}
check:=make(map[int]int)
for _,num:=range nums{
check[num]++
}
for i,count:=range check {
if count == 1 {
return i
}
}
return 0
}