Leetcode 136: Single Number

profile

Sayidina Ahmadal Qososyi

2026/08/29


0 views
2 min read
0 likes

Background

Hari ini aku belajar mengenai bit manipulation menggunakan Python. soal yang aku selesaikan menggunakan bit manipulation adalah soal dengan ID 136 Single Number.

Soal ini mengharuskan kita untuk menemukan angka tunggal dalam array di mana setiap elemen muncul dua kali kecuali satu elemen.

Oleh karena itu disini kita harus memanfaatkan operasi bitwise untuk menyelesaikan masalah ini. Kita akan menggunakan pendekatan XOR untuk mendapatkan hasilnya.

Idea

untuk menyelesaikan masalah ini, kita akan menggunakan operasi XOR (exclusive OR) pada semua elemen dalam array. Operasi XOR memiliki sifat bahwa a ^ a = 0 dan a ^ 0 = a. Oleh karena itu, ketika kita melakukan XOR pada semua elemen, elemen-elemen yang muncul dua kali akan saling menghapus, dan hanya elemen tunggal yang akan tersisa.

Contoh: Array: [2, 3, 2, 4, 4] Proses:

  • 2 ^ 3 = 1
  • 1 ^ 2 = 3
  • 3 ^ 4 = 7
  • 7 ^ 4 = 3

atau kalau di python kita bisa melakukan result ^= num dimana ini setara dengan result = result ^ num1 ^ num2 ^ ....

Hasil akhir: 3 (elemen tunggal)

Example Code

class Solution: def singleNumber(self, nums: List[int]) -> int: result = 0 for num in nums: result ^= num return result