![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
文章平均质量分 56
yuzhang_zy
现在的我不是最好的我,未来的我才是最好的我,每一篇博客都记录着我的成长
展开
-
693 交替位二进制数(位运算)
1. 问题描述:给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。示例 1:输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:输入:n = 7输出:false解释:7 的二进制表示是:111.示例 3:输入:n = 11输出:false解释:11 的二进制表示是:1011.示例 4:输入:n = 10输出:true解释:10 的二进制表示是:1010.示例 5:输入原创 2021-08-06 18:08:52 · 156 阅读 · 0 评论 -
476 数字的补数(模拟)
1. 问题描述:给你一个正整数 num ,输出它的补数。补数是对该数的二进制表示取反。示例 1:输入:num = 5输出:2解释:5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。示例 2:输入:num = 1输出:0解释:1 的二进制表示为 1(没有前导零位),其补数为 0。所以你需要输出 0 。提示:给定的整数 num 保证在 32 位带符号整数的范围内。num >= 1你可以假定二进制数不包含前导零位。来源:力扣(LeetCode)链原创 2021-07-09 16:07:46 · 170 阅读 · 0 评论 -
461 汉明距离(模拟、位运算)
1. 问题描述:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例 1:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例 2:输入:x = 3, y = 1输出:1提示:0 <=x, y <= 2 ^ 31 - 1来源:力扣(LeetCode)链接:https://...原创 2021-07-06 10:25:53 · 141 阅读 · 0 评论 -
401 二进制手表(枚举、位运算)
1. 问题描述:二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 "3:25" 。给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以按任意顺序返回答案。小时不会以零开头:例如,"01:00" 是无效的时间,正确的写法应该是 "1:00" 。分钟必须由两位数组成,可能会以零开头:例如,"10:2"原创 2021-06-22 23:11:56 · 212 阅读 · 1 评论 -
342 4的幂(位运算)
1. 问题描述:给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x示例 1:输入:n = 16输出:true示例 2:输入:n = 5输出:false示例 3:输入:n = 1输出:true提示:-2 ^ 31 <= n <= 2 ^ 31 - 12. 思路分析:4 ^ k = 2 ^ (2k) = (2 ^ k) ^ 2,所以.原创 2021-06-13 21:25:20 · 117 阅读 · 0 评论 -
289 生命游戏(模拟、二进制)
1. 问题描述:根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活;如果活细胞周围八个位置.原创 2021-05-26 21:01:38 · 389 阅读 · 0 评论 -
260 只出现一次的数字 III(位运算)
1. 问题描述:给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按任意顺序返回答案。进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?示例 1:输入:nums = [1,2,1,3,2,5]输出:[3,5]解释:[5, 3] 也是有效的答案。示例 2:输入:nums = [-1,0]输出:[-1,0]示例 3:输入:nums = [0,1]输出:[1,0]提示:2 <=原创 2021-05-20 20:09:39 · 104 阅读 · 0 评论 -
1829 每个查询的最大异或值(位运算)
1. 问题描述:给你一个 有序数组nums,它由n个非负整数组成,同时给你一个整数maximumBit。你需要执行以下查询 n次:找到一个非负整数k < 2maximumBit,使得nums[0] XOR nums[1] XOR ... XOR nums[nums.length-1] XOR k的结果 最大化。k是第 i个查询的答案。从当前数组nums删除最后一个元素。请你返回一个数组answer,其中answer[i]是第i个查询的结果。示例...原创 2021-05-04 20:17:33 · 147 阅读 · 0 评论 -
1680 连接连续二进制数字(位运算、分析)
输入:n = 12输出:505379714解释:连接结果为 "1101110010111011110001001101010111100" 。对应的十进制数字为 118505380540 。对 109 + 7 取余后,结果为 505379714 。1. 问题描述:给你一个整数 n ,请你将 1 到 n 的二进制表示连接起来,并返回连接结果对应的十进制数字对 10 ^ 9 + 7 取余的结果。示例 1:输入:n = 1输出:1解释:二进制的 "1" 对应着十进制的 1示例 2:.原创 2020-12-27 12:31:15 · 668 阅读 · 0 评论 -
1386 安排电影院座位(字典、位运算)
1. 问题描述:如上图所示,电影院的观影厅中有 n行座位,行编号从 1到 n,且每一行内总共有 10 个座位,列编号从 1 到 10 。给你数组reservedSeats,包含所有已经被预约了的座位。比如说,researvedSeats[i]=[3,8],它表示第3行第8个座位被预约了。请你返回最多能安排多少个 4 人家庭。4 人家庭要占据同一行内连续的4个座位。隔着过道的座位(比方说 [3,3] 和 [3,4])不是连续的座位,但是如果你可以将 4 人家庭拆成过道两边各...原创 2020-12-02 17:51:35 · 1233 阅读 · 0 评论 -
693 交替位二进制数(位运算)
1. 问题描述:给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。示例 1:输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:输入:n = 7输出:false解释:7 的二进制表示是:111示例 3:输入:n = 11输出:false解释:11 的二进制表示是:1011示例 4:输入:n = 10输出:true解释:10 的二进制表示是:1010示例 5:输入:n原创 2020-10-31 19:50:27 · 384 阅读 · 0 评论 -
868 二进制间距(模拟、位运算)
1. 问题描述:给定一个正整数 n,找到并返回 n 的二进制表示中两个相邻 1 之间的最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,"1001" 中的两个 1 的距离为 3 。示例 1:输入:n = 22输出:2解释:22 的二进制是 "10110" 。在 22 的二进制表示中,有三个 1,组成两对相邻的 1 。第一对相邻的 1 中,两原创 2020-10-31 16:48:37 · 272 阅读 · 0 评论 -
477 汉明距离总和(位运算)
1. 问题描述:两个整数的汉明距离指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.注意:数组中元原创 2020-09-30 20:50:56 · 225 阅读 · 0 评论