Skip to content

Brian Kernighan’s Algorithm added #367

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Dec 31, 2017
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Update BrianKernighanAlgorithm.java
  • Loading branch information
varunu28 authored Dec 31, 2017
commit 1567b58a46c2a7f7d92af4e8cb0c712d78569a08
9 changes: 3 additions & 6 deletions Others/BrianKernighanAlgorithm.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,11 @@
*
* 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)
Expand Down