Update BrianKernighanAlgorithm.java

This commit is contained in:
Varun Upadhyay 2017-12-31 06:47:51 -08:00 committed by GitHub
parent 5cf220362a
commit 1567b58a46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,14 +8,11 @@ import java.util.Scanner;
*
* algorithm to count the number of set bits in a given number
*
* Subtraction of 1 from a number toggles all the bits (from
* right to left) till the rightmost set bit(including the
* Subtraction of 1 from a number toggles all the bits (from right to left) till the rightmost set bit(including the
* rightmost set bit).
* So if we subtract a number by 1 and do bitwise & with
* itself i.e. (n & (n-1)), we unset the rightmost set bit.
* So if we subtract a number by 1 and do bitwise & with itself i.e. (n & (n-1)), we unset the rightmost set bit.
*
* If we do n & (n-1) in a loop and count the no of times loop
* executes we get the set bit count.
* If we do n & (n-1) in a loop and count the no of times loop executes we get the set bit count.
*
*
* Time Complexity: O(logn)