摘要:
描述 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 链接 461. 汉明距离 - 力扣(LeetCode) (leetcode-cn.com) 解法:位运算yyds 大致思路: 通过 异或运算,得到 不同值 的位置 阅读全文
摘要:
描述 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 链接 448. 找到所有数组中消失的数字 - 力扣(LeetCode) (leetcode-cn.com) 阅读全文
摘要:
描述 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 链接 剑指 Offer 56 - II. 数组中数字出现的次数 II - 力扣(LeetCode) (leetcode-cn.com) 解法:位运算yyds 解题思路: 如下图所示,考虑数字的 阅读全文
摘要:
描述 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 链接 剑指 Offer 56 - I. 数组中数字出现的次数 - 力扣(LeetCode) (leetcode-cn.com) 解法: 本题难点 阅读全文
摘要:
描述 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 链接 191. 位1的个数 - 力扣(LeetCode) (leetcode-cn.com) 剑指 Offer 15. 二进制中1的个数 - 力扣(LeetCode) 阅读全文
摘要:
描述 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 链接 338. 比特位计数 - 力扣(LeetCode) (leetcode-cn.com) 解法:位运算 判断 奇偶数, + 动态规划 阅读全文
摘要:
用到 位运算 知识点; (nums[i]&1)==1 奇数判断,原理:奇数的最低位为1 描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。 链接 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 - 力扣(LeetCode) 阅读全文
摘要:
描述 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。 链接 231. 2 的幂 - 力扣(LeetCode) (leetcode-cn.com) 解法 1 cla 阅读全文
摘要:
位运算 位运算即 先将数字 转化为 二进制下的表示,再进行逻辑操作,具体运算有 按位与 &按位或 |按位异或 ^按位取反 ~左移<<右移>> >>:带符号右移。正数右移高位补0,负数右移高位补1。>>>:无符号右移。无论是正数还是负数,高位通通补0。 <<< 与<< 之间的区别也是如此 268. 丢 阅读全文