Leetcode461. 汉明距离

vasp计算练习1-Si si的vasp训练流程 阅读详情

Every day a leetcode

题目来源:461. 汉明距离

解法1:模拟

先将x和y转为为对应二进制的字符串,再遍历两个字符串进行比较。

代码:

/*
 * @lc app=leetcode.cn id=461 lang=cpp
 *
 * [461] 汉明距离
 */

// @lc code=start
class Solution
{
public:
    string trans(int n)
    {
        string result = "";
        while (n > 0)
        {
            result += '0' + n % 2;
            n /= 2;
        }
        reverse(result.begin(), result.end());
        return result;
    }
    int hammingDistance(int x, int y)
    {
        string sx = trans(x);
        string sy = trans(y);
        int ans = 0;
        int i = sx.size() - 1;
        int j = sy.size() - 1;
        while (i >= 0 || j >= 0)
        {
            char item_x = i >= 0 ? sx[i] : '0';
            char item_y = j >= 0 ? sy[j] : '0';
            if (item_x != item_y)
                ans++;
            i--;
            j--;
        }
        return ans;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(lognlogn),数字转换为字符串用时O(logn),得到的字符串长度为logn,遍历字符串用时O(logn),所以总的时间复杂度为O(lognlogn)。

空间复杂度:O(logn),字符串的存储空间为O(logn)。

解法2:异或

两个整数之间的汉明距离是对应位置上数字不同的位数。

根据以上定义,我们使用异或运算,记为 ⊕,当且仅当输入位不同时输出为 1。

计算 x 和 y 之间的汉明距离,可以先计算 x⊕y,然后统计结果中等于 1 的位数。

代码:

class Solution
{
public:
    int hammingDistance(int x, int y)
    {
        return __builtin_popcount(x ^ y);
    }
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(1),不同语言的实现方法不一,我们可以近似认为其时间复杂度为O(1)。

空间复杂度:O(1)。

开关变换器小信号建模实战:从理论到环路设计 本文深入探讨了开关变换器小信号建模的实战技巧,从理论基础到环路设计全面解析。通过Buck和Boost变换器的具体案例,详细介绍了状态空间平均法、扰动法等关键建模技术,并分享环路补偿设计和实际调试中的宝贵经验。文章特别强调了小信号建模在电源设计中的重要性,为工程师提供了从理论到实践的完整解决方案。 阅读详情

相关推荐

6.5 构网型储能系统的协同控制策略

本文系统阐述了构网型储能系统的协同控制策略,重点分析了多机组群协同运行面临的功率分配不均、动态响应失配等挑战。研究提出了改进型下垂控制与虚拟阻抗法、基于一致性算法的分布式协同控制等解决方案,探讨了构网型储能与同步发电机在惯性响应、一次调频等方面的协同机制,以及与跟网型电源在电压支撑、阻抗重塑等方面的互补作用。文章构建了分层控制架构,为实现多类型电源的全局优化运行提供了技术路径,对提升高比例新能源电力系统的稳定性具有重要意义。

技术工作者 1006

《LeetCode力扣练习》第461题 汉明距离 Java

《LeetCode力扣练习》第461题 汉明距离 Java 一、资源 题目: 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 示例 1: 输入:x = 1, y = 4 输出:2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 示例 2: 输入:x = 3, y = 1 输出:1 提示: 0 <= x, y <= 231 - 1 来源

XRT_knives的博客 236

Unity分包下载实战:AssetBundle+CDN+热更新全链路指南

分包下载是移动应用资源管理的核心技术,本质是将大体积安装包拆解为按需加载的独立资源单元,以解决用户安装意愿低、首屏启动慢、热更新不可控等关键问题。其底层依赖资源打包机制(如Unity AssetBundle)、全球分发网络(CDN)与安全热更新策略三者协同。AssetBundle提供资源隔离与依赖管理能力,CDN保障低延迟高可用下载,而热更新策略则决定版本控制、灰度发布与异常恢复的工程鲁棒性。该方案广泛应用于中重度游戏、大型工具类App及需要频繁内容迭代的商业项目,直接提升次日留存、过审成功率与用户在线时长

weixin_29762151的博客 359

Leetcode 461. 汉明距离

Leetcode 461. 汉明距离1、问题分析2、问题解决3、总结 1、问题分析 题目链接:https://leetcode-cn.com/problems/hamming-distance/   本质上就是一个进制转换问题。代码我已经进行了详细的注释,理解应该没有问题,读者可以作为参考,如果看不懂(可以多看几遍),欢迎留言哦!我看到会解答一下。 2、问题解决   笔者以C++方式解决。 #include "iostream" using namespace std; #include "algori

珍惜 9026

ESP32-CAM实战:从零构建高精度QR二维码识别系统

本文详细介绍了如何使用ESP32-CAM构建高精度QR二维码识别系统,涵盖硬件配置、开发环境搭建、二维码识别库选择与优化、完整系统实现及实战问题排查。通过优化识别算法和电源管理,系统可实现快速、稳定的二维码识别,适用于物联网设备绑定等场景。

weixin_42524703的博客 436

Unity卡通渲染实战:原神PMX模型Blender转FBX全流程

卡通渲染是二次元游戏开发的核心技术之一,其本质在于对光照模型、顶点色控制与边缘光生成的精准建模。本文从基础概念切入,解析MMD PMX格式的数据结构原理,阐明顶点色(Vertex Color)与Toon Ramp贴图在风格化渲染中的技术价值;进而覆盖Blender到Unity的跨引擎资产流转关键路径,重点解决法线校准、骨骼命名适配、FBX导出参数配置等工业级断点问题;最终落地于Unity内置管线与URP双环境下的卡通Shader定制与Render Feature实现。内容聚焦原神风格角色资产重铸实践,涵盖P

weixin_38166557的博客 438

LeetCode--461 汉明距离

题目 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 示例 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 class Sol...

Courage-Hu的专栏 212

python 中心线提取_二值分析 | OpenCV + skimage如何提取中心线

点击上方蓝字关注我们微信公众号:OpenCV学堂关注获取更多计算机视觉与深度学习知识问题前几天有个人问了我一个问题,问题是这样的,他有如下的一张二值图像:怎么得到白色Blob中心线,他希望的效果如下:显然OpenCV中常见的轮廓分析无法获得上面的中心红色线段,本质上这个问题是如何提取二值对象的骨架,提取骨架的方法在OpenCV的扩展模块中,另外skimage包也支持图像的骨架提取。这里就...

weixin_42204453的博客 4290

力扣461. 汉明距离

力扣461. 汉明距离 题目描述: 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 示例一: 输入:x = 1, y = 4 输出:2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 示例二: 输入:x = 3, y = 1 输出:1 提示: 0 <= x, y <= 2^31 - 1 思路:没有什么特殊的技巧,熟悉.

01解题者~博客 484

Swin Transformer 与 CNN 结合实现图像分类

Swin Transformer 与 CNN 结合实现图像分类。(含swin transformer 结构讲解,cnn网络搭建,代码)

这里是Mae。 5027

YOLOv11改进 | 检测头篇 | 利用动态蛇形卷积DySnakeConv改进yolov11分割检测头(全网独家首发,Segment)

本文给大家带来的最新改进机制是一种我进行优化的专用于分割的检测头,在分割的过程中,最困难的无非就是边缘的检测,动态蛇形卷积(Dynamic Snake Convolution)通过自适应地聚焦于细长和迂回的局部结构,准确地捕捉管状结构的特征。这种卷积方法的核心思想是,通过动态形状的卷积核来增强感知能力,针对管状结构的特征提取进行优化,所以将这个卷积针对于YOLOv11的分割头进行融合是非常合适的,当然本文的检测头也支持用于目标检测,但是我将其设计出来是主要为了分割的读者使用的。

Snu77的博客 3433

JavaScript实现汉明距离--力扣(leetcode 461题)

目录 1 题目 示例: 3 解答 1)先求二进制保存在数组里面,再从后比较 2)异或运算(二进制异或时,不同时返回1) 4 代码 1 题目 https://leetcode-cn.com/problems/hamming-distance/ 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 2 输入输出 示例: 输入: x = 1, y = 4 输出: .

bailizx 417

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

python leetcode461 汉明距离

one day a cannon or one week five cannons leetcode 461 hamming distance  (Source) The Hamming distance between two integers is the number of positions at which the corresponding bits are diffe

accumulate_zhang的博客 2286

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

leetcode--461. 汉明距离

计算x和y的异或,结果m的二进制表示中,计算并返回它们之间的汉明距离

2301_81413442的博客 412

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode 461. 汉明距离

f(x)=x & (x−1),则 f(x)的值为x二进制中最右侧1变为0的新二进制数的值。两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。Brian Kernighan 算法,重要常数项优化方法。BK算法可以用于快速计算二进制数中1的数量,节约常数时间。上面的箭头指出了对应二进制位不同的位置。输入:x = 1, y = 4。输入:x = 3, y = 1。

予早随笔 586

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

leetcode-461. 汉明距离 力扣 Java版本

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 class Sol...

mysql表名与列名单引号‘’引发的错误 180

力扣(LeetCode)461. 汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 java版 class Solution { public in...

weixin_30337251的博客 106

[LeetCode]461. Hamming Distance(汉明距离)

LeetCode 461. Hamming Distance 题目描述: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 Hamm...

whl_program的博客 464

[LeetCode] 461、汉明距离

题目描述 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 参考代码 位运算,书中提到过,简单题。 class Solution { p...

aift的专栏 145

LeetCode 461 - 汉明距离

汉明距离这道题,属于那种题目极短、考点极准的类型。 表面看是在让你数二进制里有多少位不一样,但实际上是在考你对 位运算的理解是否到位。 如果你在写业务代码时对位运算有点“下意识躲开”,那这道题正好是一个非常好的切入口。

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 995

leetcode 461 汉明距离

的思想来解决这个问题,首先,将x和y进行异或,x和y对应二进制位不同就会得到1,然后统计所有1的个数,即为汉明距离。时间复杂度:T(n)=O(n)空间复杂度:S(n)=O(1)

2301_80296866的博客 320

Leetcode 461.汉明距离(Hamming Distance)

Leetcode 461.汉明距离 1 题目描述(Leetcode题目链接)   两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意:0≤x,y<2310 ≤ x, y < 2^{31}0≤x,y<231. 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0...

qq_39378221的博客 234

java 汉明距离_Java实现 LeetCode 461 汉明距离

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 hammin...

weixin_35925259的博客 504

【LeetCode】【算法】461. 汉明距离

LeetCode 461. 汉明距离

passer__jw767的博客 409

LeetCode 461.汉明距离 - Java

该题原址:https://leetcode-cn.com/problems/hamming-distance/ 问题描述 问题分析 找出两个数二进制相同位置的不同的个数之和. 考察位运算. 可以想到异或,两个数异或后不同为1,相同为0,因此就转换为求1的问题. 对于求1的问题可以看此文:计算二进制中1的个数-Java____[位运算思维] 代码演示 1. 使用java自带方法求解 /...

Clearlight's Blog 631
上一篇: Leetcode459. 重复的子字符串
下一篇: Leetcode463. 岛屿的周长
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值