zoukankan      html  css  js  c++  java
  • Hamming Distance

    The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

    Given two integers x and y, calculate the Hamming distance.

    Note:
    0 ≤ xy < 231.

    Example:

    Input: x = 1, y = 4
    
    Output: 2
    
    Explanation:
    1   (0 0 0 1)
    4   (0 1 0 0)
           ?   ?
    
    The above arrows point to positions where the corresponding bits are different.

    思路:
    比较两个数的二进制位数不同的个数:可以直接换成二进制后比较即可。也可以用异或运算后,计算二进制位数为1的数目;

    JAVA CODE
    public class Solution {
        public int hammingDistance(int x, int y) {
            // 异或运算
            int m = x^y;
            int count = 0;
            while(m!=0){
                // 与1进行与运算,为1都表示末位为1.然后进行右移运算。注意与运算优先级高于比较运算符,要加括号
                if((m & 1)==1) count++;
                m = m >> 1;
            }
            return count;
        }
    }
  • 相关阅读:
    软件工程周总结09
    单词统计
    第一期冲刺03
    第一期冲刺02
    第一期冲刺01
    人月神话阅读笔记03
    团队冲刺四
    团队冲刺三
    团队冲刺二
    单词统计
  • 原文地址:https://www.cnblogs.com/baichangfu/p/7355865.html
Copyright © 2011-2022 走看看