zoukankan      html  css  js  c++  java
  • 461. 汉明距离

    两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。

    给出两个整数 x 和 y,计算它们之间的汉明距离。

    注意:
    0 ≤ x, y < 231.

    示例:

    输入: x = 1, y = 4

    输出: 2

    解释:
    1 (0 0 0 1)
    4 (0 1 0 0)
            ↑    ↑

    上面的箭头指出了对应二进制位不同的位置。

    class Solution {
        public int hammingDistance(int x, int y) {
            int[] Szx = ToBin(x);
            int[] Szy = ToBin(y);
            if(Szx.length >= Szy.length)
            {
                int i = 0, returnNum = 0;
                while(i < Szx.length)
                {
                    if(i >= Szy.length)
                    {
                        if(Szx[i] == 1)
                            returnNum++;
                    }
                    else
                    {
                        if(Szy[i] != Szx[i])
                            returnNum++;
                    }
                    i++;
                }
                return returnNum;
            }
            else
            {
                int i = 0, returnNum = 0;
                while(i < Szy.length)
                {
                    if(i >= Szx.length)
                    {
                        if(Szy[i] == 1)
                            returnNum++;
                    }
                    else
                    {
                        if(Szy[i] != Szx[i])
                            returnNum++;
                    }
                    i++;
                }
                return returnNum;
            }
        }
        public int[] ToBin(int x)
        {
            List<Integer> tmplist = new ArrayList<Integer>();
            int n = 2;
            while(x != 0)
            {
                int r = x % 2;
                tmplist.add(r);
                x = x / 2;
            }
            int [] returnSz = new int [tmplist.size()];
            for(int i = 0; i < returnSz.length; i++)
            {
                returnSz[i] = tmplist.get(i);
            }
            return returnSz;
        }
    }
    

      第一遍好难,,,我要努力!

    终此一生,只有两种办法:要么梦见生活,要么落实生活。

  • 相关阅读:
    获取系统环境变量
    改变系统提示信息
    获取任务栏大小
    获取系统启动后经过的时间
    获取系统版本号
    z-tree的使用
    vue学习-day05 -- 案例:名字合并(监听data数据的改变)
    vue学习-day04(路由)
    eclipse在线安装ermaster插件
    vue学习-day03(动画,组件)
  • 原文地址:https://www.cnblogs.com/Duancf/p/12430773.html
Copyright © 2011-2022 走看看