问题提出:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 2^31。

解题思路:对两数进行二进制求解(使用递归算法),然后从两个二进制的末尾比较每一位是否相等,如果其中一个二进制数全部遍历,判断另一个二进制数是否遍历完,若未遍历完,遍历剩下位数,其中位数如果为1,则汉明距离+1。(因为之前遍历完的二进制数当前位必然为0)

直接上代码( ̄▽ ̄):

class Solution:

# 二进制转换

def bina(self,num):

b = ''

if num:

b = self.bina(num//2)

return b + str(num%2)

else:

return b

def hammingDistance(self, x: int, y: int) -> int:

bin_x = self.bina(x)

bin_y = self.bina(y)

i = len(bin_x)-1

j = len(bin_y)-1

count = 0

while i>=0 and j>=0:

if bin_x[i]!=bin_y[j]:

count+=1

i-=1

j-=1

if j>=0:

while j>=0:

if bin_y[j]=='1':

count+=1

j-=1

if i>=0:

while i>=0:

if bin_x[i]=='1':

count+=1

i-=1

return count

时间和空间消耗:

python汉明距离检索_汉明距离(Python3)相关推荐

  1. mysql 汉明距离检索_汉明距离海量数据算法

    通过 采集系统 我们采集了大量文本数据,但是文本中有很多重复数据影响我们对于结果的分析.分析前我们需要对这些数据去除重复,如何选择和设计文本的去重算法?常见的有余弦夹角算法.欧式距离.Jaccard相 ...

  2. python汉明距离检索_【LeetCode 461】汉明距离(Python)

    一.题目 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意: 0 ≤ x, y < 231. 示例: 输入: x = ...

  3. python逗号代码_基于Python3 逗号代码 和 字符图网格(详谈)

    逗号代码 假定有下面这样的列表: spam=['apples','bananas','tofu',' cats'] 编写一个函数,它以一个列表值作为参数,返回一个字符串.该字符串包含所有表项,表项之间 ...

  4. python封装介绍_谈python3的封装

    这章给大家介绍,如何封装一个简单的python库 首先创建一个以下型式的文件结构 rootFile/setup.py example_package/ __init__.py example_modu ...

  5. python 归一化还原_对python3 一组数值的归一化处理方法详解

    1.什么是归一化: 归一化就是把一组数(大于1)化为以1为最大值,0为最小值,其余数据按百分比计算的方法.如:1,2,3.,那归一化后就是:0,0.5,1 2.归一化步骤: 如:2,4,6 (1)找出 ...

  6. python无法打开_脚本 - Python3.8突然无法运行

    问题: 我一直可以从终端python运行(运行python解释器)脚本,但今天突然无法从shell运行python脚本. hello.py包含:#!/usr/bin/python3 print('He ...

  7. python ssl模块_转 Python3 ssl模块不可用的问题

    编译安装完Python3之后,使用pip来安装python库,发现了如下报错: $ pip install numpy pip is configured with locations that re ...

  8. python文献检索_文献检索与下载

    summer school =================== 国防科技大学 数学系 张弘 第一部分:文献检索与下载 一.背景 国产搜索引擎: 百度,搜狗,雅虎 - 文献下载 当前文献下载的囧境 ...

  9. python文献检索_那个发了好几篇SCI的师姐,教你如何搞定文献检索和科研图片!...

    原标题:那个发了好几篇SCI的师姐,教你如何搞定文献检索和科研图片! 1 写论文是一门秃头的艺术 近年来,越来越多的科研机构,将 SCI 论文作为评价医生及科研人员学术水平的一个重要指标. 可以这么说 ...

最新文章

  1. linux脚本多分支if语句,shell脚本基础应用(二)if单分支,双分支,多分支语句...
  2. 使用 NVM 管理不同的 Node.js 版本
  3. android--------Popupwindow的使用
  4. 彻夜怒肝!SpringBoot+Sentinel+Nacos高并发已撸完
  5. RLock(递归锁)
  6. Delphi中的字符串压缩与解压缩
  7. 【NLP专栏】图解 BERT 预训练模型!
  8. java math 三角函数_Java 使用Math类中的三角函数
  9. 图像基本处理(灰度化)
  10. 在线数学函数画图工具 2D 3D
  11. 流利阅读12.23 The 'great dying': rapid warming caused largest extinction event ever, report says
  12. webStorm的一些快捷键
  13. 迄今见过最好的职业规划文章
  14. QT Creator4.3制作图标
  15. iOS、mac开源项目及库(转载)
  16. LTE中PA/PB的理解
  17. Android Studio 中 为模拟器添加图片和图片路径(图文级教程)
  18. AD中板内挖空的方法
  19. android 动画后动画效果,Android5.0之后 VectorDrawable实现超炫酷动画效果
  20. js 针对异步的处理

热门文章

  1. PyQt5实现简易音乐播放器
  2. D3 v3版本绘制力导向图更新节点时JS控制台报错 :Error: circle attribute cx: Expected length, NaN解决办法
  3. Wifi密码破解器,不要太当真!
  4. 有人负责,才有质量:写给在集市中迷失的一代读后感
  5. ETL--oracle --CDC技术
  6. 视频消重处理,视频原创怎么做,视频处理软件
  7. JS + CSS 做一个简易九宫格抽奖
  8. Windows设置双网卡同时访问内网和外网
  9. CyberVein恭祝大家新年快乐,牛年大吉!
  10. 如何导出iPhone手机中app共享文件夹的文件与闪退日志的收集