@@ -64,9 +64,10 @@ def get_set_bits_count_using_lookup_table(number: int) -> int:
6464 """
6565 Count the number of set bits in a 32-bit integer using a precomputed lookup table.
6666
67- Note: I see similar approach in GeeksforGeeks, but their implementation is little different.
68- Link to Code: https://www.geeksforgeeks.org/dsa/count-set-bits-integer-using-lookup-table/
69-
67+ Note: I see similar approach in GeeksforGeeks, but the implementation is little different.
68+ Link to Code:
69+ https://www.geeksforgeeks.org/dsa/count-set-bits-integer-using-lookup-table/
70+
7071 >>> get_set_bits_count_using_lookup_table(25)
7172 3
7273 >>> get_set_bits_count_using_lookup_table(37)
@@ -84,17 +85,17 @@ def get_set_bits_count_using_lookup_table(number: int) -> int:
8485 ...
8586 ValueError: the value of input must not be negative
8687 """
87- _LOOKUP_TABLE = [bin (i ).count ("1" ) for i in range (256 )]
88+ _lookup_table = [bin (i ).count ("1" ) for i in range (256 )]
8889
8990 if number < 0 :
9091 raise ValueError ("the value of input must not be negative" )
9192
9293 # Split 32-bit number into four 8-bit chunks and use lookup table
9394 return (
94- _LOOKUP_TABLE [number & 0xFF ]
95- + _LOOKUP_TABLE [(number >> 8 ) & 0xFF ]
96- + _LOOKUP_TABLE [(number >> 16 ) & 0xFF ]
97- + _LOOKUP_TABLE [(number >> 24 ) & 0xFF ]
95+ _lookup_table [number & 0xFF ]
96+ + _lookup_table [(number >> 8 ) & 0xFF ]
97+ + _lookup_table [(number >> 16 ) & 0xFF ]
98+ + _lookup_table [(number >> 24 ) & 0xFF ]
9899 )
99100
100101
0 commit comments