12 lines
294 B
Ruby
12 lines
294 B
Ruby
|
#Given a number "n",count the number of set bits in it.
|
||
|
#Algorithm: Brian Kernighan's method(set count=0 ,while n>0 set n:=n&(n-1) and increment count, return count)
|
||
|
#Time-complexity:O(logn)
|
||
|
|
||
|
def count_set_bits(num)
|
||
|
count=0
|
||
|
while num>0
|
||
|
num&=(num-1)
|
||
|
count+=1
|
||
|
end
|
||
|
return count
|
||
|
end
|