力扣每日一题:461.汉明距离 细说异或与二进制 双解!

Python中zfill()方法的使用教程 主要介绍了Python中zfill()方法的使用教程,是Python入门中的基础知识,需要的朋友可以参考下 立即下载

461.汉明距离

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

难度:简单

题目:

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

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

注意: 0 ≤ x, y < 2 ^ 31.

示例:

输入: x = 1, y = 4

输出: 2

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

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

分析

可能日常很多人了解的异或操作就是

  • 0⊕0=0
  • 0⊕1=1
  • 1⊕0=1
  • 1⊕1=0

但如果仔细学习就会了解对于两个数字的异或结果,其实是转化为二进制后按位比较的。
如上方示例的说明1 ^ 4 后由于第一位和第三位(从低位到高位/右到左)不同,所以结果是0101结果为5,所以1^ 4 = 5
那么,我们只需要先将两数异或后,获取哪些位数为1代表这两个数该位上的值不同,就是结果。

当然如果你不知道这样的结果,也可以通过分别转化两个数成二进制数,然后前补零,按照两个字符串的方式按位比较,效率也很高。
这里有个细节,具体前补多少零?因为x,y< 2 ^ 31 所以设置zfile(32)即可。

解题1 异或速解:

class Solution:
    def hammingDistance(self, x, y):
        return bin(x ^ y).count('1')

解题2 字符串解题:

class Solution:
    def hammingDistance(self, x, y):
        ret = 0
        bx, by = bin(x)[2:].zfill(32), bin(y)[2:].zfill(32)
        for i in range(32):
            if bx[i] != by[i]:
                ret += 1
        return ret

欢迎关注我的公众号: 清风Python,带你每日学习Python算法刷题的同时,了解更多python小知识。

我的个人博客:https://qingfengpython.cn

力扣解题合集:https://github.com/BreezePython/AlgorithmMarkdown

STM32--基于STM32F103C8T6的OV7670摄像头显示 使用 STM32F103C8T6 微控制器驱动 OV7670 摄像头模组,并将图像数据显示在屏幕上,是嵌入式系统中常见的图像采集与显示应用。OV7670 是一款 CMOS VGA 图像传感器,具有高灵敏度、低电压等特点,适用于嵌入式应用。而 STM32F103C8T6 是一款常用的 MCU 控制器,具有丰富的管脚资源和较高的工作频率。 阅读详情

相关推荐

虚拟化Esxi 和 华为交换机--配置链路捆绑

在这种模式下,Eth-Trunk的建立和成员接口的加入都需要手工配置,没有LACP协议的参与。● 在没有配置802.3ad聚合时,启用基于IP哈希的路由将中断网络,因此必须先对虚拟交换机进行更改。再去修改交换机的链路聚合模式(交换机配置为手动模式的链路聚合)当服务器需要通过交换机从远端服务器获取配置文件后才可以启动链路聚合时,交换机的链路聚合口需要配置lacp force-forward。● 交换机必须设置手动模式的链路聚合,虚拟交换机的负载平衡方法必须设置为基于IP哈希的路由。

ling 2117

python中的bin()、chr()、ord()函数

chr(i) 中文说明: 返回整数i对应的ASCII字符。与ord()作用相反。 参数x:取值范围[0, 255]之间的正数。 版本:该函数在python2和python3各个版本中都可用。不存在兼容性问题。 ord(c ) 给定一个表示一个Unicode字符的字符串,返回一个表示该字符的Unicode代码点的整数。例如, ord(‘a’)返回整数97和ord(‘€’)(欧元符号)返回8364。这是相反的chr()。 In [30]: chr(97) Out[30]: 'a' bin(x) 将数

m0_67877471的博客 1003

Prometheus-2.53.1安装

Prometheus+Grafana安装

qlj062127的博客 1788

python中合法的二进制整数_Python中二进制数的二进制补码

低于a和b(十六进制),表示二进制补码有符号二进制数.例如:a = 0x17c7cc6eb = 0xc158a854现在我想知道一个&的签名代表.基础10中的b.抱歉,我是一名低级程序员,也是python的新手;问这个问题感觉非常愚蠢.我不关心额外的图书馆,但答案应该简单明了.背景:a& b是从UDP分组中提取的数据.我无法控制格式.所以请不要给我一个答案,假设我可以事先改变那些变量的格式.我转换...

weixin_39616693的博客 784

Golang实现企业级AI智能体安全合规自动化检测系统

需求:自动化解析欧盟AI法案、中国网络安全法、美国NIST框架等多国法规,提取具体合规要求并映射到企业技术实现。技术挑战法规文本非结构化,语义复杂,存在大量法律术语与技术术语交叉多语言支持(中文、英文、欧盟24种官方语言)法规动态更新(平均每季度更新2-3次)架构创新性:提出了"规则引擎+AI模型+实时监控"的混合架构,兼顾了合规要求的明确性与智能体行为的动态性。性能突破:通过Golang协程、多级缓存、数据库优化等技术,实现了12,800 req/s的高吞吐量和38ms的低延迟。准确性提升。

shao.bing的专栏 724

72-dify案例分享-揭秘!如何用 Dify 实现多语言 PDF 文档原格式翻译

本文围绕 Dify 1.6 + 版本,演示搭建 PDF 文档翻译 Agent:配置 MCP 服务、构建 Agent 并以 URL 传文件测试,实现高效翻译,展现 MCP 跨工具复用与简化集成的优势,助力 AI 应用开发。

个人技术 2289

python怎么返回零_关于python:如何使bin(30)返回00011110而不是0b11110?

本问题已经有最佳答案,请猛点这里访问。在bin(30)的输出中," b"代表什么:" 0b11110"? 有什么办法可以摆脱这个" b"? 如何获取bin()的输出以始终返回标准的8位数字输出?使用zfill():Return the numeric string left filled with zeros in a string of length width. A sign prefix i...

weixin_39666550的博客 687

C#计算八字

private string[] jq = { "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至" };private string[] dz = { "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥", "子" };

m0_72939038的博客 828

python输出一个数组中只出现一次得数字_(python版)《剑指Offer》JZ40:数组中只出现一次的数字...

#【只出现一次的数系列】位运算本题和主站 260 是一样的. 除了这个,主站还有 136 和 137,645。 总共加起来本系列一共 四道题。四道题全部都是位运算的套路,如果你想练习位运算的话,不要错过~作者:fe-lucifer链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/solut...

weixin_36146690的博客 849

ubuntu22.04 安装部署 openclaw

ubuntu22.04 安装部署 openclaw

nalanxiaoxiao2011的博客 1010

FD.io/VPP — VPP 的实现原理解析

目录 文章目录目录VPPVPP 的关键创新技术数据报文的矢量处理标量报文处理方式I-cache miss 问题矢量数据报文处理方式标量 v.s. 矢量报文处理流程Packet Processing Graph(数据报文处理图)Packet Processing Graph 的处理流程Graph Node Plugin 机制 VPP WIKI:https://wiki.fd.io/view/VPP Docs:https://fd.io/docs/vpp/master/index.html Github:ht

烟云的计算 2593

Python标准库:内置函数bin(x)

转换一个整数x为二进制的字符串表示。如果参数x不是一个整数对象,可以通过重载__index__()函数来实现返回一个整数。例子:#bin(x) print('100:', bin(100), '0x64:', bin(64))输出结果如下:100: 0b1100100 0x64: 0b1000000蔡军生 QQ:9073204  深圳

大坡3D软件开发 4889

【SpringBoot 4.x 第29节】Spring Security 7 入门:先理解认证和授权!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 553

力扣每日一题:852.山脉数组的峰顶索引 喜迎收假,重拳出击....

852.山脉数组的峰顶索引 https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/solution/852shan-mai-shu-zu-de-feng-ding-suo-yin-9krsr/ 难度:简单 题目: 符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 <...

清风Python 5872

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

刷穿剑指offer-Day21-队列II 使用队列实现广度优先搜索!

昨日回顾 昨天,我们介绍了队列的基础知识,并分别学习了Python与Java中队列的操作方法。 在此基础上,通过两道简单的队列题,掌握了基本的入队与出队操作。然而,队列的题目可不只是简单按照顺序出入队那么简单。 队列有一个最为经典的使用方式,就是 广度优先搜索( BFS) 。而广度优先搜索中,又数二叉树的遍历更为常用。今天我们就通过几道二叉树的题目,来掌握广度优先搜索的使用。 二叉树什么时候该使用...

清风Python 4943

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

教你创建电脑、手机同步的markdown云笔记--力扣刷题力荐!

开篇先致歉 其他不谈,开篇必须先给各位读者道个歉,年后工作上比较忙,加上最近闲暇的时间都用来在力扣上刷算法题了,导致公众号断更有些严重啊。再加上年后将健身减重提上了日程,时间上就更显的捉襟见肘了。 不过忙活一阵子还是有些收获的,减肥13斤,刷题80道+,虽然算法还在彩笔的边缘疯狂挣扎(然后挣扎不出去),但起码比之前要好很多了周赛四道题,一道简单和两道中等基本都可以AC,只是有时会第二道中等完成时考...

清风Python 3715

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

实用算法题:excel表列序号与十进制数字的互相转化算法讲解!

日常生活中excel的使用大家都不陌生,可能几列的表格我们还能脑海中参照A-Z来区分对应的数字应该是几。但有的表格列过多,或者鼠标一甩到了很后面的位置,好几个字母拼起来,一时间很难反映过来对应的数字是多少列。所以今天力扣这两道算法题,就帮我们解决了这个问题。当然近半年的这两题的出题公司有: 微软 6次 Shopee 3次 苹果 2次 高盛 2次 额,居然没有国内大厂?是要把excel换成W...

清风Python 1707

来和我一起四十天刷完 剑指offer II-专项突破!

写在前面的话 最近公众号断更了,嗯...不是因为懒,而是一直在用Python刷算法题感觉有些腻了,打算捡起许久不用的Java,学学Java基础,然后使用Java、Python双语言进行leetcode刷题学习。 本来打算复习完Java面向对象知识后,把所有涉及算法的数据结构与知识都学习完再开始继续更新的,但前天看到了新版本的剑指offer II-专项突破版这本书,这次的剑指offer第二版使用Ja...

清风Python 1290

力扣每日一题:496、503、739 单调栈问题三连发!

496.下一个更大元素I https://leetcode-cn.com/problems/next-greater-element-i/solution/496xia-yi-ge-geng-da-yuan-su-i-by-qingfe-qfu9/ 难度:简单 题目: 给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。 请你找出 nums1 ...

清风Python 907

分享一个翻倍提升算法刷题通过率的技巧

2021年的学习目标 年初制定的21年学习计划中,将算法之美加入了今年的重点内容。模仿万达老王的语气,先给自己制定一个小目标,年底前力扣刷题300+。只要坚持leetcode每日一题满勤,这个小目标基本就可以达成了。 之前其实是比较讨厌算法的,枯燥无趣、费时费脑,但没办法,算法已经成为各大公司面试必考的内容,只能硬着头皮刷题了。 在算法方面,个人觉得当前的水平大概就是,站在彩笔儿子的边缘疯狂突击,...

清风Python 821

670.最大交换 暴力、单调栈、指针的逆序遍历 三种解题思路。

力扣每日一题

清风Python 774

刷穿剑指offer-Day15-哈希表II Python&Java的哈希表方法与解题套路!

昨日回顾 昨天我们开始了哈希表的学习,讲解了哈希表的集中实现方式。并通过一道 设计哈希集合 的题目,让我们将哈希表的理论转化为实践。 今天,我们就开始正式学习哈希表在Python与Java中的使用方式。在Java中,哈希表有两个数据类型 HashMap 与 HashSet,它们对应Python中的 dict 与 set ,下面我们开始分类学习! HashSet & set 我们在昨天的设计...

清风Python 747

python 两个栈实现一个队列 && 两个队列实现一个栈

剑指Offer09.用两个栈实现队列 https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/solution/jian-zhi-offer09yong-liang-ge-zhan-shi-x-hybm/ 难度:简单 题目: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail...

清风Python 691

刷穿剑指offer-Day02-整数II

昨日回顾 昨天作为这个系列的第一篇文章,分别介绍了Java与Python的以下内容: 整数类型与考点 二进制与十进制的转换 与、或、异或的操作 位移操作 以上内容,如果遗忘了,一定要定时复习啊...今天是整数的第二篇文章,会和大家稍有跳跃分享一道简单题+一道中等题目,用来对二进制算法完成进一步的巩固。 每道题涉及的知识点会在题目分析中给出整理。让我们开始吧! 剑指OfferII002.二进制加...

清风Python 687

力扣每日一题:5705. 判断国际象棋棋盘中一个格子的颜色 深度剖析思路!

5705. 判断国际象棋棋盘中一个格子的颜色 难度:简单 题目: 给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。 如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。 给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。 示例: 示例 1: 输入:coo...

清风Python 686

力扣每日一题:692.前K个高频单词 Python双解,包教包会!

692.前K个高频单词 难度:中等 题目: 给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。 注意: 假定 k 总为有效值, 1 ≤ k ≤ 集合元素数。 输入的单词均由小写字母组成。 示例: 示例 1: 输入: ["i", "love", "leetcode", "i", "love", "...

清风Python 659
上一篇: 力扣每日一题:1190.反转每对括号间的子串 很容易理解的栈操作!
下一篇: 力扣每日一题:477.汉明距离总和 字符串矩阵与列表计数器 双解分析!
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值