181. Flip BitsLintCode, by java

Posted phdeblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了181. Flip BitsLintCode, by java相关的知识,希望对你有一定的参考价值。

Description

Determine the number of bits required to flip if you want to convert integer n to integer m.

Both n and m are 32-bit integers.

Example

Given n = 31 (11111), m = 14 (01110), return 2.

解题:比较两个整数对应的二进制数,共有多少位不同。注意,负数也包含在内。“>>>”在无符号右移,用0补齐。

 1 public class Solution {
 2     /**
 3      * @param a: An integer
 4      * @param b: An integer
 5      * @return: An integer
 6      */
 7     public int bitSwapRequired(int a, int b) {
 8         // write your code here
 9         int count = 0;  
10         for (int c = a ^ b; c != 0; c = c >>> 1) {
11             count += c & 1;
12         }
13         return count;
14     }
15 }

 

以上是关于181. Flip BitsLintCode, by java的主要内容,如果未能解决你的问题,请参考以下文章

14:Flip Game

LintCode刷题笔记--Flip Bits

CODE FESTIVAL 2017 qual A--B-fLIP(换种想法,暴力枚举)

AGC019D Shift and Flip(枚举)

[CF1503D]Flip the Cards

LeetCode数据库习题182,595,620,175,183,181,596