首页 > 其他分享 >力扣461-汉明距离

力扣461-汉明距离

时间:2023-12-30 16:11:54浏览次数:27  
标签:二进制位 461 距离 力扣 异或 汉明 组数

难度:【简单】

  • “汉明距离”是指两个整数的二进制表示中二进制位不同的对数(或组数)。汉明距离应用广泛,可以用于检测编码错误、量化字符串差异(信息论)等。
  • 根据定义,求两个整数的汉明距离,就是求两个整数二进制位不同的组数。根据异或运算,相同为假相异为真,两数异或之后统计二进制位为1的总数就可以了。代码很简单。
  • 官方解法提到,在工程中可以直接用内置函数对比特位计数,java对应的函数是Integer.bitCount(),C++中是__builtin_popcount()。

标签:二进制位,461,距离,力扣,异或,汉明,组数
From: https://www.cnblogs.com/metasequoiaa/p/17936484.html

相关文章

  • 力扣448-找到所有数组中消失的数字
    难度:【简单】常规笨方法做一遍:先遍历一遍记录到哈希表中,再从1到n遍历一遍,不在哈希表中的记入返回数组中,时空复杂度都是O(n)。尝试优化空间复杂度到O(1):先填满返回数组,再遍历原数组,原数组中出现的元素删掉。也是朴素的笨方法,所以超出了时间限制。这让我体会到了数组查找元素的时......
  • 【力扣】-28. 找出字符串中第一个匹配项的下标|刷题打卡-JS
    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。......
  • 【力扣】-39. 组合总和|刷题打卡-JS
    给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个......
  • 【力扣】-41. 缺失的第一个正数|刷题打卡-JS
    给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。示例1:输入:nums=[1,2,0]输出:3示例2:输入:nums=[3,4,-1,1]输出:2示例3:输入:nums=[7,8,9,11,12]输出:1提示:1<=nums.length<=5*......
  • 在不使用内置函数和中间变量的情况交换数字LeetCode力扣题解面试题16.01
    #异或法#Kotlin```KotlinclassSolution{  funswapNumbers(numbers:IntArray):IntArray{    numbers[0]=numbers[0]xornumbers[1]    numbers[1]=numbers[1]xornumbers[0]    numbers[0]=numbers[0]xor......
  • 【力扣】-15. 三数之和|刷题打卡-JS
    给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4......
  • 【力扣】-1672. 最富有客户的资产总量|刷题打卡-JS
    给你一个 mxn 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例1:第1位客户的资产......
  • 【力扣】-14. 最长公共前缀|刷题打卡-JS
    编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例1:输入:strs=["flower","flow","flight"]输出:"fl"示例2:输入:strs=["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示:1<=strs......
  • 【力扣】-35. 搜索插入位置|刷题打卡-JS
    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(logn) 的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例 2:输入:nums=[1,3,5,6],target=2输出:1示例......
  • 力扣234-回文链表
    难度:【简单】第一个想法是用栈,提交代码3次都显示解答错误。原因:第一次是没考虑一个节点的情况;第二次是不应该通过栈剩余元素个数判断单节点情况;第三次是没有考虑奇数个节点的情况。看官方题解,重新思考。用数组最容易解,时空复杂度都是O(n)。刚开始用栈是以为能优化到进阶的O(1)......