Blind 75 - Pertanyaan Wawancara Pemrograman & Teknis - Seri Penjelasan

Masalah:

Penjelasan:

Ini tentu saja merupakan pertanyaan biner, jadi memahami operasi bitwise dan artinya adalah hal yang terpenting. Ini adalah pertanyaan sederhana yang bagus untuk memperkenalkan diri ke dalam kode biner. Intuisinya di sini adalah Anda ingin melacak satu bit, dan kemudian melakukan operasi bitwise pada angka tersebut selagi bukan 0. Di dalam loop ini pertama-tama kita dapat memeriksa apakah bit pertama adalah 0 atau 1. Ada dua cara untuk melakukannya lakukan ini, jika (n & 1) == 1 atau jika n % 2 == 1. Jika pernyataan ini benar maka bitnya adalah satu dan kita tambah hitungannya. Karena kita hanya memeriksa bit pertama pada bilangan tersebut, yang kita lakukan adalah menggeser bit ke kanan sebesar 1.

Solusinya — O(n):

class Solution:
 def hammingWeight(self, n: int) -> int:
  count = 0
 
  while n != 0:
   if (n & 1) == 1:
    count += 1
 
   n = n >> 1
 
  return count

Informasi:

Website: nkwade.dev
LinkedIn: linkedin.com/in/nkwade
GitHub: github.com/nkwade
Email: [email protected]