iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >20190503-汉明距离
  • 451
分享到

20190503-汉明距离

距离汉明 2023-01-31 00:01:34 451人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

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

难度分类

简单

题目描述

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离

注意:

0 ≤ x, y < 231.

示例:

输入: x = 1, y = 4

输出: 2

解释:

1   (0 0 0 1)

4   (0 1 0 0)

       ↑   ↑

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

算法

1. 获取x,y的二进制的字符串

2. 使用zfill函数将x,y的二进制字符串中较短的字符串的长度用‘0’填充成与较长位字符串长度一样长

3. 使用zip函数一一遍历对比

考点

  1. 十进制与二进制的转换bin函数
  2. Zfill函数
  3. zip函数

代码

def hammingDistance(self, x, y):
        #step1:转换二进制
        binary_x = bin(x)[2:]
        binary_y = bin(y)[2:]
        #step2:调整长度
        if len(binary_x)>len(binary_y):
            binary_y = binary_y.zfill(len(binary_x))
        else:
            binary_x = binary_x.zfill(len(binary_y))
        result=0
        #step3:按位对比,统计不同的位数
        for i,j in zip(binary_x,binary_y):
            if i!=j:
                result+=1

进阶算法

统计二进制位不同的可使用二进制异或运算,然后统计结果二进制的1的个数。异或运算即二进制下不进位加法,二进制的异或运算法则如下:

1. 0+0=0

2. 0+1=1

3. 1+0=1

4. 1+1=0

示例中0001^0100=0101,统计0101中1的个数即为二进制位不同的总数

进阶考点

  1. 异或运算
  2. str.count()函数

进阶代码

def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        return bin(x^y).count('1')

附-十进制转换二进制代码

 def binary_transfer(x):
            result = ''
            while x!=0:
                result+=str(x%2)
                x = x//2
            return result[::-1]

 

--结束END--

本文标题: 20190503-汉明距离

本文链接: https://www.lsjlt.com/news/182160.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 20190503-汉明距离
    难度分类 简单 题目描述 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出:...
    99+
    2023-01-31
    距离 汉明
  • PHP怎么计算汉明距离总和
    这篇文章主要介绍“PHP怎么计算汉明距离总和”,在日常操作中,相信很多人在PHP怎么计算汉明距离总和问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么计算汉明距离总和”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-20
  • php计算汉明距离总和的示例分析
    这篇文章主要为大家展示了“php计算汉明距离总和的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php计算汉明距离总和的示例分析”这篇文章吧。两个整数的汉明距离指的是这两个数字的二进制数...
    99+
    2023-06-20
  • php计算汉明距离总和的实例讲解
    两个整数的汉明距离指的是这两个数字的二进制数对应位不同的数量。 计算一个数组中,任意两个数之间汉明距离的总和。 实例 输入: 4, 14, 2 输出: 6 解释:在二进制表示中,4...
    99+
    2024-04-02
  • Python “编辑距离”(Levens
    本文搜集了网上比较常用的几种计算Levenshtein distance的函数, 其中函数(1)为调用数学工具包Numpy, 函数(2)和(1)算法类似,都是采用DP, (3)来自wiki(4)是直接调用python的第三方库Levens...
    99+
    2023-01-31
    距离 编辑 Python
  • C++怎么编辑距离
    这篇文章主要介绍“C++怎么编辑距离”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++怎么编辑距离”文章能帮助大家解决问题。编辑距离Example 1:Input: word1 = "h...
    99+
    2023-06-19
  • pythonscipy.spatial.distance距离计算函数
    目录1 scipy.spatial2 scipy.spatial.distance.cdist2.1 语法2.2 metric的取值2.3 常用欧氏距离计算 1 scipy...
    99+
    2024-04-02
  • css如何设置p段落上下间距距离
    这篇文章主要介绍了css如何设置p段落上下间距距离,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 运用p高低分段落的排版,凹凸段落间距如何...
    99+
    2024-04-02
  • C++编辑距离(动态规划)
    题目描述: 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 我们可以对一个单词进行如下三种操作: 插入一个字符删除一个...
    99+
    2024-04-02
  • css中如何设置图片离左边的距离
    本篇内容介绍了“css中如何设置图片离左边的距离”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • css如何调整字间距离
    这篇文章给大家分享的是有关css如何调整字间距离的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 翰墨排版,一般不会思虑字和字之间间隔,通常均为人造不设置装备摆设CSS来控制,但...
    99+
    2024-04-02
  • OpenCV实现图像距离变换
    图像中两个像素之间的距离有多种定义方式,图像处理中常用的距离有欧式距离、街区距离和棋盘距离 欧式距离 略 街区距离 两个像素点X方向和Y方向的距离之和。欧式距离表示的是从一个像素点到...
    99+
    2024-04-02
  • C++实现LeetCode(72.编辑距离)
    [LeetCode] 72. Edit Distance 编辑距离 Given two words word1 and word2, find the ...
    99+
    2024-04-02
  • API处理Android安全距离详情
    目录前言描述系统栏适配其他适配前言 在Android屏幕的空间中,大部分的区域我们都是可以随意绘制,只有一部分区域是显示的固定内容: 状态栏标题栏(ActionBar)页面内容(Co...
    99+
    2024-04-02
  • css怎么设置div之间距离
    本篇内容介绍了“css怎么设置div之间距离”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • API如何处理Android安全距离
    本篇内容主要讲解“API如何处理Android安全距离”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“API如何处理Android安全距离”吧!前言在Android屏幕的空间中,大部分的区域我们都...
    99+
    2023-07-02
  • mysql根据经纬度计算距离
    要在MySQL中根据经纬度计算距离,你可以使用以下方法: 使用Haversine公式:Haversine公式是一种常用的方法,用于计算两个球面上点之间的距离。下面是一个示例查询,展示如何在MySQL中使用Haversine公式计算经纬度距离...
    99+
    2023-08-31
    mysql 数据库
  • 怎么用C++实现编辑距离
    这篇文章主要讲解了“怎么用C++实现编辑距离”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C++实现编辑距离”吧!Edit Distance 编辑距离Given two words&n...
    99+
    2023-06-20
  • mongodb的距离范围如何查询
    在MongoDB中,可以使用`$geoNear`运算符和`$geoWithin`运算符来进行距离范围查询。1. 使用`$geoNea...
    99+
    2023-09-01
    mongodb
  • 【距离注意残差网络:超分】
    DARN: Distance Attention Residual Network for Lightweight Remote-Sensing Image Superresolution (DARN...
    99+
    2023-09-12
    网络 超分辨率重建
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作