首页 > 其他分享 >【LeeCode】461. 汉明距离

【LeeCode】461. 汉明距离

时间:2023-01-02 15:33:55浏览次数:52  
标签:String int 461 sss 运算符 LeeCode str 汉明 public


【题目描述】

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

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

​https://leetcode.cn/problems/hamming-distance/​


【示例】

【LeeCode】461. 汉明距离_运算符


【代码】admin

这里要做二进制转换后,利用String.format格式化输出进行对比

package com.company;
class Solution {

public int hammingDistance(int x, int y) {
String str = Integer.toBinaryString(x);
String sss = Integer.toBinaryString(y);

// 格式化输出: 1 = 00000000000000000000000000000001
// 格式化输出: y = 00000000000000000000000000000100
str = String.format("%32s", str).replaceAll(" ", "0");
sss = String.format("%32s", sss).replaceAll(" ", "0");
int num = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) != sss.charAt(i)){
num++;
}
}
System.out.println(num);
return num;
}
}

public class Test {
public static void main(String[] args) {
int x = 1;
int y = 4;

new Solution().hammingDistance(x, y);
}
}

【代码2】

异或: 相同则为0  不同则为1

package com.company;
class Solution {

public int hammingDistance(int x, int y) {
return Integer.bitCount(x ^ y);
}
}

public class Test {
public static void main(String[] args) {
int x = 1;
int y = 4;

new Solution().hammingDistance(x, y);
}
}

【运算符】

学习参考:​​https://blog.csdn.net/xiashaoqi/article/details/126405713​

算数运算符

【LeeCode】461. 汉明距离_Test_02


关系运算符

【LeeCode】461. 汉明距离_Test_03


逻辑运算符


位运算

【LeeCode】461. 汉明距离_运算符_04

与运算

a & b 

相同位的两个数字都为1,则为1;若有一个不为1,则为0

或运算

a|b

相同位只要一个为1即为1

异或运算

a^b

相同位不同则为1,相同则为0

取反运算

~a

把0和1 全部取反

左移

a<<b

a向左移动一个



标签:String,int,461,sss,运算符,LeeCode,str,汉明,public
From: https://blog.51cto.com/u_13682316/5983736

相关文章

  • 【LeeCode】9. 回文数
    【题目描述】回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,​​121​​​ 是回文,而 ​​123​​ 不是。​​​​https://leetcode.cn/problems/palindrom......
  • 【LeeCode】34. 在排序数组中查找元素的第一个和最后一个位置
    【题目描述】给你一个按照非递减顺序排列的整数数组 ​​nums​​​,和一个目标值 ​​target​​。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目......
  • 【LeeCode】67. 二进制求和
    【题目描述】给你两个二进制字符串 ​​a​​ 和 ​​b​​ ,以二进制字符串的形式返回它们的和。​​https://leetcode.cn/problems/add-binary/​​​【示例】【代码】......
  • 【LeeCode】78. 子集
    【题目描述】给你一个整数数组 ​​nums​​ ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。【......
  • 【LeeCode】有效括号深度 (自测)
    【题目描述】输出有效的括号深度【代码】packagecom.company;importjava.util.*;classSolution{publicvoidgetKuoHao(Stringstr){Stack<Character>sta......
  • 欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离、余弦距离、汉
     ......
  • 461.汉明距离
    题目:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注意:0≤x,y<2^31.示例:输入:x=1......
  • 【LeeCode】121. 买卖股票的最佳时机
    【题目描述】给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股......
  • 【LeeCode】283. 移动零
    【题目描述】给定一个数组 ​​nums​​​,编写一个函数将所有 ​​0​​ 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进......
  • 【LeeCode】338. 比特位计数
    【题目描述】给你一个整数 ​​n​​ ,对于 ​​0<=i<=n​​ 中的每个 ​​i​​ ,计算其二进制表示中 ​​1​​​​ 的个数 ,返回一个长度为 ​​​n+1​​......