zoukankan      html  css  js  c++  java
  • 461. Hamming Distance

    Description

    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 ≤ x, y < 231.

    Example 1:

    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、要找汉明距离,也就是两个码字的对应位不同的数量
    2、对x、y进行按位异或,结果就是对应位不同的位置为1,相同的为0
    3、计算异或的结果含有1的个数
    4、每次都是查看最低位是不是1,然后再无符号右移1位,再次查看下一位即可
    5、int为32位查看32次

    class Solution {
        public int hammingDistance(int x, int y) {
            int num = x ^ y;
            int count = 0;
            int moves = 32;
            while((moves--) > 0){
                if((num & 1) == 1){
                    count++;
                }
                num = num >>> 1;
            }
            return count;
        }
    }
    
  • 相关阅读:
    2019年面试题1
    面试题
    vsftp多个用户公享同一个文件,但是权限不同
    centos7搭建ftp
    安装v2ra y
    centos7安装lamp
    日升昌面试题
    一些插件
    面试被怼集(字节跳动篇)
    TOMCAT原理详解及请求过程(转载)
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10606076.html
Copyright © 2011-2022 走看看