1 题目描述

2 解题思路

2.1 方法1:计算x和y的异或,输入位不同的时候,输出为1

lass Solution:def hammingDistance(self, x: int, y: int) -> int:tmp=x^yret=bin(tmp)return(ret.count('1'))

class Solution:def hammingDistance(self, x: int, y: int) -> int:tmp=x^yret=bin(tmp)num=0for i in ret:if(i=='1'):num+=1return(num)

2.2 方法2 用移位操作代替count函数

class Solution:def hammingDistance(self, x: int, y: int) -> int:tmp=x^ynum=0while(tmp!=0):if(tmp&1==1):num+=1tmp=tmp>>1return(num)

2.3 方法3:布莱恩-科尼根算法

当我们在number和number-1上做and位运算的时候,原数字最右边等于1的那一比特会被移除。

这样做所需的时间比方法2小(方法2是每一位都要考虑)。

class Solution:def hammingDistance(self, x: int, y: int) -> int:tmp=x^ynum=0while(tmp!=0):tmp=tmp&(tmp-1)num+=1return(num)

文巾解题 461. 汉明距离相关推荐

  1. 文巾解题 477. 汉明距离总和

    1 题目描述 2 解题思路 2.1 暴力两两比较 两个数字之间的汉明距离可以使用 文巾解题 461. 汉明距离_刘文巾的博客-CSDN博客 中的任何一种方法,但是因为这个是两两比较,时间复杂度比较高, ...

  2. 文巾解题 面试题 01.04. 回文排列

    1 题目描述 2 解题思路 2.1 哈希表 创建一个哈希表,记录每个元素出现的次数.如果出现次数为奇数的元素只有一个或者没有,那么就是一个回文排列 class Solution:def canPerm ...

  3. 文巾解题 15. 三数之和

    1 题目描述 2 解题思路 2.1 使用两数之和函数 这种做法目前超时了,如果大家有想到合适的减时间/剪枝的方法,欢迎私信or评论~ 两数之和的方法见文巾解题 1. 两数之和_刘文巾的博客-CSDN博 ...

  4. 文巾解题 342. 4的幂

    1 题目描述 2 解题思路 2.1 方法1 判断log函数的结果是不是整数 class Solution:def isPowerOfFour(self, n: int) -> bool:if(n ...

  5. 文巾解题 1035. 不相交的线

    1 题目描述 2 解题思路 k条互不相交的直线分别连接了数组 nums1和nums2的 k 对相等的元素,而且这 k 对相等的元素在两个数组中的相对顺序是一致的,因此,这 k 对相等的元素组成的序列即 ...

  6. 文巾解题 278. 第一个错误的版本

    1 题目描述 2 解题思路 二分查找见:二分查找详解_刘文巾的博客-CSDN博客 class Solution(object):def firstBadVersion(self, n):left=1r ...

  7. 文巾解题 704. 二分查找

    1 题目描述 2 解题思路 二分查找见: 二分查找详解_刘文巾的博客-CSDN博客 class Solution(object):def search(self, nums, target):left ...

  8. 文巾解题 627. 变更性别

    1 题目描述 2 解题思路 回顾一下 UPDATE语句 2.1 CASE语句 回顾一下CASE语句(见数据库笔记: SQL_刘文巾的博客-CSDN博客 第六节) UPDATE salary SET s ...

  9. 文巾解题 面试题 17.10. 主要元素

    1 题目描述 2 解题思路 因为是O(N)的时间复杂度和O(1)的空间复杂度,所以想到的是Boyer-Moore 投票算法.这个算法的原理可见:算法整理:Boyer-Moore 投票算法_刘文巾的博客 ...

最新文章

  1. 修改Spring boot内置的tomcat端口
  2. sql exists 的用法
  3. spray.json_如何使用Spray-json(Un)在Akka HTTP中封送JSON
  4. ant react 上传_React实战之Ant Design—Upload上传_附件上传
  5. web报表工具FineReport常见的数据集报错错误代码和解释
  6. nodejs安装教程Windows版本
  7. Zipf law 定律
  8. AAAI-19录用论文
  9. c# 问题 vs2017 c# 划前半大括号,下半大扣号不会显示
  10. 格子地图 像素坐标 地图坐标 转化
  11. 使用snmpwalk采集设备的OID信息
  12. 第十六届全国大学智能车竞赛华东赛区成绩汇总
  13. ROS综合学习记录(一)---cmd_vel转换为阿克曼模型的速度变换
  14. PS2游戏机硬盘启动制作教程
  15. 厦门之旅第一篇Gradle多渠道打包(动态设定App名称,应用图标,背景图片,状态栏颜色)
  16. eclipse设置 “暗黑色” 主题
  17. java 枚举 color_java 枚举实现方法-java 枚举个性化-嗨客网
  18. 隐形斗篷matlab仿真,自制隐形斗篷,再也不用羡慕哈利波特了
  19. 春困夏乏 ,8种食物提神抗疲劳
  20. 零基础大数据该学什么?

热门文章

  1. 软件测试 -- 元素定位
  2. HTML5 大战移动应用(一)
  3. CSS成长之路----知识点篇
  4. Exchange Server 2013就地电子数据展示
  5. uploadify 附件上传
  6. Prism学习笔记(三):对Prism中模块化程序的理解。
  7. 公司的费用报销系统【为什么不好用】?做业务系统软件的可以参考一下
  8. OpenBFDD的安装与使用
  9. android开发应用知识,Android应用开发经常使用知识
  10. python函数能否增强代码可读性_总结的几个Python函数方法设计原则