当前位置: 首页 > news >正文

汉明距离Java解法

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

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

例:

输入:x = 1, y = 4
输出:2
解释:
1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑
上面的箭头指出了对应二进制位不同的位置。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/hamming-distance
 

解析:

对比的是两个数二进制之间不同的位数,可以使用异或运算,不同的位置为1,然后计算1的个数即可。

class Solution {public int hammingDistance(int x, int y) {int s = x ^ y, ret = 0;  // 异或运算,结果初始化while (s!=0){  // 循环条件ret += s & 1;  // 将个位和1做按位与运算s >>= 1;  // 右移一位,进行下一位的判断}return ret;  // 返回结果}
}

也可以直接使用内置函数进行计算:

class Solution {public int hammingDistance(int x, int y) {return Integer.bitCount(x^y);  // java内置函数,将整数转为二进制并计算其中包含的1的个数}
}

http://www.lryc.cn/news/10436.html

相关文章:

  • Netty服务端请求接受过程源码剖析
  • 金三银四春招特供|高质量面试攻略
  • 搭建Hexo博客-第4章-绑定自定义域名
  • lightdb-sql拦截
  • 二进制中1的个数-剑指Offer-java位运算
  • 学自动化测试可以用这几个练手项目
  • 2023年保健饮品行业分析:市场规模不断攀升,年度销额增长近140%
  • 2023-02-17 学习记录--TS-邂逅TS(一)
  • SpringMVC创建异步回调请求的4种方式
  • MySQL(二)表的操作
  • SpringCloud - 入门
  • 进一步了解C++函数的各种参数以及重载,了解C++部分的内存模型,C++独特的引用方式,巧妙替换指针,初步了解类与对象。满满的知识,希望大家能多多支持
  • Chapter6:机器人SLAM与自主导航
  • Sass的使用要点
  • 计算机启动过程,从按下电源按钮到登录界面的详细步骤
  • LeetCode 刷题之 BFS 广度优先搜索【Python实现】
  • Hadoop01【尚硅谷】
  • Echarts 配置横轴竖轴指示线,更换颜色、线型和大小
  • OpenAI 官方API Java版SDK,两行代码即可调用。包含GhatGPT问答接口。
  • SpringBoot 日志文件
  • SQL71 检索供应商名称
  • 02:入门篇 - 漫谈 CTK
  • SpringBoot常用注解
  • RBAC权限模型
  • 【郭东白架构课 模块一:生存法则】07|法则三:架构师如何找到自己的商业模式?
  • STM32 - 看门狗
  • Redis集群搭建
  • 车载基础软件——AUTOSAR AP典型应用案例
  • 消息中间件----内存数据库 Redis7(第3章 Redis 命令)
  • react-03-react-router-dom-路由