LeetCode 训练场:461. 汉明距离

简介: LeetCode 训练场:461. 汉明距离

1. 题目

461. 汉明距离


2. 描述

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


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


注意:

0 ≤ x, y < 231.


示例:


输入: x = 1, y = 4


输出: 2


解释:

1 (0 0 0 1)

4 (0 1 0 0)

↑ ↑


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


3. 思路

汉明距离其实就是最终两个数进行异或运算后的数转换为二进制后其中为 1 的个数,此时的主要操作是对字符串的遍历,时间复杂度为 O ( n ) O(n)O(n).


4. 实现


public int hammingDistance(int x, int y) {
    // 将两个数进行异或运算
    int xor = x ^ y;
    // 计数即结果
    int count = 0;
    //然后将结果转化为二进制之后,其中为 1 的个数
    String binaryStr = Integer.toBinaryString(xor);
    // 遍历转换成的二进制字符串,其中为 1 的就是最终结果
    for (int i = 0; i < binaryStr.length(); i++) {
        if ('1' == binaryStr.charAt(i)) {
            count++;
        }
    }
    return count;
}
目录
相关文章
【Leetcode -461.汉明距离 -482.密钥格式化】
【Leetcode -461.汉明距离 -482.密钥格式化】
50 0
|
4月前
|
Python
【Leetcode刷题Python】461. 汉明距离
提供了LeetCode题目461的Python编程解决方案,题目要求计算两个整数之间的汉明距离,即它们二进制表示中不同位数的个数。
25 0
【Leetcode刷题Python】461. 汉明距离
|
7月前
|
算法
leetcode-461:汉明距离
leetcode-461:汉明距离
38 0
|
算法 Java
算法打卡Day25_leetcode _461. 汉明距离
算法打卡Day25_leetcode _461. 汉明距离
算法打卡Day25_leetcode _461. 汉明距离
LeetCode 461. 汉明距离
LeetCode 461. 汉明距离
100 0
|
算法 Java
《LeetCode刷题》—461.汉明距离
《LeetCode刷题》—461.汉明距离
114 0
《LeetCode刷题》—461.汉明距离
|
机器人
LeetCode 训练场:62. 不同路径
LeetCode 训练场:62. 不同路径
107 0
LeetCode 训练场:62. 不同路径
|
算法
​LeetCode刷题实战477:汉明距离总和
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
136 0
|
算法
​LeetCode刷题实战461:汉明距离
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
102 0
LeetCode 训练场:1486. 数组异或操作
LeetCode 训练场:1486. 数组异或操作
107 0