Skip to content

Latest commit

 

History

History
222 lines (213 loc) · 61.9 KB

bit-manipulation.md

File metadata and controls

222 lines (213 loc) · 61.9 KB

位运算

全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号 标题 题解 标签 难度 力扣
29 两数相除 [✓] 位运算 数学 🟠 🀄️ 🔗
67 二进制求和 [✓] 位运算 数学 字符串 1+ 🟢 🀄️ 🔗
78 子集 [✓] 位运算 数组 回溯 🟠 🀄️ 🔗
89 格雷编码 [✓] 位运算 数学 回溯 🟠 🀄️ 🔗
90 子集 II [✓] 位运算 数组 回溯 🟠 🀄️ 🔗
136 只出现一次的数字 [✓] 位运算 数组 🟢 🀄️ 🔗
137 只出现一次的数字 II [✓] 位运算 数组 🟠 🀄️ 🔗
187 重复的DNA序列 [✓] 位运算 哈希表 字符串 3+ 🟠 🀄️ 🔗
190 颠倒二进制位 [✓] 位运算 分治 🟢 🀄️ 🔗
191 位1的个数 [✓] 位运算 分治 🟢 🀄️ 🔗
201 数字范围按位与 [✓] 位运算 🟠 🀄️ 🔗
222 完全二叉树的节点个数 [✓] 位运算 二分查找 1+ 🟢 🀄️ 🔗
231 2 的幂 [✓] 位运算 递归 数学 🟢 🀄️ 🔗
260 只出现一次的数字 III [✓] 位运算 数组 🟠 🀄️ 🔗
266 回文排列 🔒 位运算 哈希表 字符串 🟢 🀄️ 🔗
268 丢失的数字 [✓] 位运算 数组 哈希表 3+ 🟢 🀄️ 🔗
287 寻找重复数 [✓] 位运算 数组 双指针 1+ 🟠 🀄️ 🔗
318 最大单词长度乘积 [✓] 位运算 数组 字符串 🟠 🀄️ 🔗
320 列举单词的全部缩写 🔒 位运算 字符串 回溯 🟠 🀄️ 🔗
338 比特位计数 [✓] 位运算 动态规划 🟢 🀄️ 🔗
342 4的幂 [✓] 位运算 递归 数学 🟢 🀄️ 🔗
351 安卓系统手势解锁 🔒 位运算 动态规划 回溯 1+ 🟠 🀄️ 🔗
371 两整数之和 [✓] 位运算 数学 🟠 🀄️ 🔗
389 找不同 [✓] 位运算 哈希表 字符串 1+ 🟢 🀄️ 🔗
393 UTF-8 编码验证 [✓] 位运算 数组 🟠 🀄️ 🔗
397 整数替换 [✓] 贪心 位运算 记忆化搜索 1+ 🟠 🀄️ 🔗
401 二进制手表 [✓] 位运算 回溯 🟢 🀄️ 🔗
405 数字转换为十六进制数 [✓] 位运算 数学 🟢 🀄️ 🔗
411 最短独占单词缩写 🔒 位运算 数组 字符串 1+ 🔴 🀄️ 🔗
421 数组中两个数的最大异或值 [✓] 位运算 字典树 数组 1+ 🟠 🀄️ 🔗
461 汉明距离 [✓] 位运算 🟢 🀄️ 🔗
464 我能赢吗 [✓] 位运算 记忆化搜索 数学 3+ 🟠 🀄️ 🔗
465 最优账单平衡 🔒 位运算 数组 动态规划 2+ 🔴 🀄️ 🔗
473 火柴拼正方形 [✓] 位运算 数组 动态规划 2+ 🟠 🀄️ 🔗
476 数字的补数 [✓] 位运算 🟢 🀄️ 🔗
477 汉明距离总和 位运算 数组 数学 🟠 🀄️ 🔗
491 非递减子序列 位运算 数组 哈希表 1+ 🟠 🀄️ 🔗
526 优美的排列 [✓] 位运算 数组 动态规划 2+ 🟠 🀄️ 🔗
638 大礼包 [✓] 位运算 记忆化搜索 数组 3+ 🟠 🀄️ 🔗
645 错误的集合 [✓] 位运算 数组 哈希表 1+ 🟢 🀄️ 🔗
672 灯泡开关 Ⅱ 位运算 深度优先搜索 广度优先搜索 1+ 🟠 🀄️ 🔗
691 贴纸拼词 位运算 数组 字符串 3+ 🔴 🀄️ 🔗
693 交替位二进制数 [✓] 位运算 🟢 🀄️ 🔗
698 划分为k个相等的子集 位运算 记忆化搜索 数组 3+ 🟠 🀄️ 🔗
751 IP 到 CIDR 🔒 位运算 字符串 🟠 🀄️ 🔗
756 金字塔转换矩阵 位运算 深度优先搜索 广度优先搜索 🟠 🀄️ 🔗
762 二进制表示中质数个计算置位 [✓] 位运算 数学 🟢 🀄️ 🔗
779 第K个语法符号 位运算 递归 数学 🟠 🀄️ 🔗
782 变为棋盘 位运算 数组 数学 1+ 🔴 🀄️ 🔗
784 字母大小写全排列 位运算 字符串 回溯 🟠 🀄️ 🔗
805 数组的均值分割 位运算 数组 数学 2+ 🔴 🀄️ 🔗
810 黑板异或游戏 位运算 脑筋急转弯 数组 2+ 🔴 🀄️ 🔗
832 翻转图像 [✓] 位运算 数组 双指针 2+ 🟢 🀄️ 🔗
847 访问所有节点的最短路径 位运算 广度优先搜索 2+ 🔴 🀄️ 🔗
861 翻转矩阵后的得分 贪心 位运算 数组 1+ 🟠 🀄️ 🔗
864 获取所有钥匙的最短路径 位运算 广度优先搜索 数组 1+ 🔴 🀄️ 🔗
868 二进制间距 [✓] 位运算 🟢 🀄️ 🔗
898 子数组按位或操作 位运算 数组 动态规划 🟠 🀄️ 🔗
943 最短超级串 位运算 数组 字符串 2+ 🔴 🀄️ 🔗
957 N 天后的牢房 位运算 数组 哈希表 1+ 🟠 🀄️ 🔗
980 不同路径 III 位运算 数组 回溯 1+ 🔴 🀄️ 🔗
982 按位与为零的三元组 位运算 数组 哈希表 🔴 🀄️ 🔗
995 K 连续位的最小翻转次数 位运算 队列 数组 2+ 🔴 🀄️ 🔗
996 平方数组的数目 位运算 数组 哈希表 4+ 🔴 🀄️ 🔗
1009 十进制整数的反码 [✓] 位运算 🟢 🀄️ 🔗
1018 可被 5 整除的二进制前缀 [✓] 位运算 数组 🟢 🀄️ 🔗
1066 校园自行车分配 II 🔒 位运算 数组 动态规划 2+ 🟠 🀄️ 🔗
1125 最小的必要团队 位运算 数组 动态规划 1+ 🔴 🀄️ 🔗
1177 构建回文串检测 位运算 数组 哈希表 2+ 🟠 🀄️ 🔗
1178 猜字谜 位运算 字典树 数组 2+ 🔴 🀄️ 🔗
1238 循环码排列 位运算 数学 回溯 🟠 🀄️ 🔗
1239 串联字符串的最大长度 位运算 数组 字符串 1+ 🟠 🀄️ 🔗
1255 得分最高的单词集合 位运算 数组 字符串 3+ 🔴 🀄️ 🔗
1256 加密数字 🔒 位运算 数学 字符串 🟠 🀄️ 🔗
1284 转化为全零矩阵的最少反转次数 位运算 广度优先搜索 数组 2+ 🔴 🀄️ 🔗
1310 子数组异或查询 位运算 数组 前缀和 🟠 🀄️ 🔗
1318 或运算的最小翻转次数 [✓] 位运算 🟠 🀄️ 🔗
1342 将数字变成 0 的操作次数 [✓] 位运算 数学 🟢 🀄️ 🔗
1349 参加考试的最大学生数 位运算 数组 动态规划 2+ 🔴 🀄️ 🔗
1356 根据数字二进制下 1 的数目排序 [✓] 位运算 数组 计数 1+ 🟢 🀄️ 🔗
1371 每个元音包含偶数次的最长子字符串 位运算 哈希表 字符串 1+ 🟠 🀄️ 🔗
1386 安排电影院座位 贪心 位运算 数组 1+ 🟠 🀄️ 🔗
1404 将二进制表示减到 1 的步骤数 位运算 字符串 🟠 🀄️ 🔗
1434 每个人戴不同帽子的方案数 位运算 数组 动态规划 1+ 🔴 🀄️ 🔗
1442 形成两个异或相等数组的三元组数目 位运算 数组 哈希表 2+ 🟠 🀄️ 🔗
1457 二叉树中的伪回文路径 位运算 深度优先搜索 2+ 🟠 🀄️ 🔗
1461 检查一个字符串是否包含所有长度为 K 的二进制子串 位运算 哈希表 字符串 2+ 🟠 🀄️ 🔗
1486 数组异或操作 [✓] 位运算 数学 🟢 🀄️ 🔗
1494 并行课程 II 位运算 动态规划 1+ 🔴 🀄️ 🔗
1506 找到 N 叉树的根节点 🔒 位运算 深度优先搜索 1+ 🟠 🀄️ 🔗
1521 找到最接近目标值的函数值 位运算 线段树 数组 1+ 🔴 🀄️ 🔗
1525 字符串的好分割数目 位运算 哈希表 字符串 1+ 🟠 🀄️ 🔗
1542 找出最长的超赞子字符串 位运算 哈希表 字符串 🔴 🀄️ 🔗
1558 得到目标数组的最少函数调用次数 贪心 位运算 数组 🟠 🀄️ 🔗
1595 连通两组点的最小成本 位运算 数组 动态规划 2+ 🔴 🀄️ 🔗
1601 最多可达成的换楼请求数目 位运算 数组 回溯 1+ 🔴 🀄️ 🔗
1611 使整数变为 0 的最少操作次数 位运算 记忆化搜索 动态规划 🔴 🀄️ 🔗
1617 统计子树中城市之间最大距离 位运算 动态规划 2+ 🔴 🀄️ 🔗
1655 分配重复整数 位运算 数组 动态规划 2+ 🔴 🀄️ 🔗
1659 最大化网格幸福感 位运算 记忆化搜索 动态规划 1+ 🔴 🀄️ 🔗
1680 连接连续二进制数字 位运算 数学 模拟 🟠 🀄️ 🔗
1681 最小不兼容性 位运算 数组 动态规划 1+ 🔴 🀄️ 🔗
1684 统计一致字符串的数目 [✓] 位运算 数组 哈希表 2+ 🟢 🀄️ 🔗
1707 与数组中元素的最大异或值 位运算 字典树 数组 🔴 🀄️ 🔗
1720 解码异或后的数组 [✓] 位运算 数组 🟢 🀄️ 🔗
1723 完成所有工作的最短时间 位运算 数组 动态规划 2+ 🔴 🀄️ 🔗
1734 解码异或后的排列 位运算 数组 🟠 🀄️ 🔗
1738 找出第 K 大的异或坐标值 位运算 数组 分治 5+ 🟠 🀄️ 🔗
1755 最接近目标值的子序列和 位运算 数组 双指针 2+ 🔴 🀄️ 🔗
1763 最长的美好子字符串 [✓] 位运算 哈希表 字符串 2+ 🟢 🀄️ 🔗
1787 使所有区间的异或结果为零 位运算 数组 动态规划 🔴 🀄️ 🔗
1799 N 次操作后的最大分数和 位运算 数组 数学 4+ 🔴 🀄️ 🔗
1803 统计异或值在范围内的数对有多少 位运算 字典树 数组 🔴 🀄️ 🔗
1815 得到新鲜甜甜圈的最多组数 位运算 记忆化搜索 数组 2+ 🔴 🀄️ 🔗
1829 每个查询的最大异或值 [✓] 位运算 数组 前缀和 🟠 🀄️ 🔗
1835 所有数对按位与结果的异或和 位运算 数组 数学 🔴 🀄️ 🔗
1863 找出所有子集的异或总和再求和 [✓] 位运算 数组 数学 3+ 🟢 🀄️ 🔗
1879 两个数组最小的异或值之和 位运算 数组 动态规划 1+ 🔴 🀄️ 🔗
1908 Nim 游戏 II 🔒 位运算 脑筋急转弯 数组 3+ 🟠 🀄️ 🔗
1915 最美子字符串的数目 位运算 哈希表 字符串 1+ 🟠 🀄️ 🔗
1930 长度为 3 的不同回文子序列 [✓] 位运算 哈希表 字符串 1+ 🟠 🀄️ 🔗
1938 查询最大基因差 位运算 深度优先搜索 字典树 2+ 🔴 🀄️ 🔗
1947 最大兼容性评分和 位运算 数组 动态规划 2+ 🟠 🀄️ 🔗
1986 完成任务的最少工作时间段 位运算 数组 动态规划 2+ 🟠 🀄️ 🔗
1994 好子集的数目 位运算 数组 数学 2+ 🔴 🀄️ 🔗
2002 两个回文子序列长度的最大乘积 位运算 字符串 动态规划 2+ 🟠 🀄️ 🔗
2032 至少在两个数组中出现的值 [✓] 位运算 数组 哈希表 🟢 🀄️ 🔗
2035 将数组分成两个数组并最小化数组和的差 位运算 数组 双指针 4+ 🔴 🀄️ 🔗
2044 统计按位或能得到最大值的子集数目 [✓] 位运算 数组 回溯 1+ 🟠 🀄️ 🔗
2128 通过翻转行或列来去除所有的 1 🔒 位运算 数组 数学 1+ 🟠 🀄️ 🔗
2135 统计追加字母可以获得的单词数 位运算 数组 哈希表 2+ 🟠 🀄️ 🔗
2151 基于陈述统计最多好人数 位运算 数组 回溯 1+ 🔴 🀄️ 🔗
2152 穿过所有点的所需最少直线数量 🔒 位运算 几何 数组 5+ 🟠 🀄️ 🔗
2157 字符串分组 位运算 并查集 字符串 🔴 🀄️ 🔗
2172 数组的最大与和 位运算 数组 动态规划 1+ 🔴 🀄️ 🔗
2174 通过翻转行或列来去除所有的 1 II 🔒 位运算 广度优先搜索 数组 1+ 🟠 🀄️ 🔗
2184 建造坚实的砖墙的方法数 🔒 位运算 数组 动态规划 1+ 🟠 🀄️ 🔗
2206 将数组划分成相等数对 [✓] 位运算 数组 哈希表 1+ 🟢 🀄️ 🔗
2212 射箭比赛中的最大得分 位运算 数组 回溯 1+ 🟠 🀄️ 🔗
2220 转换数字的最少位翻转次数 [✓] 位运算 🟢 🀄️ 🔗
2247 K 条高速公路的最大旅行费用 🔒 位运算 动态规划 1+ 🔴 🀄️ 🔗
2275 按位与结果大于零的最长组合 [✓] 位运算 数组 哈希表 1+ 🟠 🀄️ 🔗
2305 公平分发饼干 位运算 数组 动态规划 2+ 🟠 🀄️ 🔗
2306 公司命名 位运算 数组 哈希表 2+ 🔴 🀄️ 🔗
2317 操作后的最大异或和 位运算 数组 数学 🟠 🀄️ 🔗
2322 从树中删除边的最小分数 位运算 深度优先搜索 1+ 🔴 🀄️ 🔗
2351 第一个出现两次的字母 [✓] 位运算 哈希表 字符串 1+ 🟢 🀄️ 🔗
2354 优质数对的数目 位运算 数组 哈希表 1+ 🔴 🀄️ 🔗
2397 被列覆盖的最多行数 位运算 数组 回溯 2+ 🟠 🀄️ 🔗
2401 最长优雅子数组 [✓] 位运算 数组 滑动窗口 🟠 🀄️ 🔗
2403 杀死所有怪物的最短时间 🔒 位运算 数组 动态规划 1+ 🔴 🀄️ 🔗
2411 按位或最大的最小子数组长度 位运算 数组 二分查找 1+ 🟠 🀄️ 🔗
2419 按位与最大的最长子数组 位运算 脑筋急转弯 数组 🟠 🀄️ 🔗
2425 所有数对的异或和 [✓] 位运算 脑筋急转弯 数组 🟠 🀄️ 🔗
2429 最小异或 [✓] 贪心 位运算 🟠 🀄️ 🔗
2433 找出前缀异或的原始数组 位运算 数组 🟠 🀄️ 🔗
2438 二的幂数组中查询范围内的乘积 位运算 数组 前缀和 🟠 🀄️ 🔗
2505 所有子序列和的按位或 🔒 位运算 脑筋急转弯 数组 1+ 🟠 🀄️ 🔗
2506 统计相似字符串对的数目 位运算 数组 哈希表 2+ 🟢 🀄️ 🔗
2527 查询数组异或美丽值 位运算 数组 数学 🟠 🀄️ 🔗
2546 执行逐位运算使字符串相等 位运算 字符串 🟠 🀄️ 🔗
2564 子字符串异或查询 位运算 数组 哈希表 1+ 🟠 🀄️ 🔗
2568 最小无法得到的或值 位运算 脑筋急转弯 数组 🟠 🀄️ 🔗
2571 将整数减少到零需要的最少操作数 贪心 位运算 动态规划 🟠 🀄️ 🔗
2572 无平方子集计数 位运算 数组 数学 2+ 🟠 🀄️ 🔗
2588 统计美丽子数组数目 位运算 数组 哈希表 1+ 🟠 🀄️ 🔗
2595 奇偶位数 位运算 🟢 🀄️ 🔗
2657 找到两个数组的前缀公共数组 [✓] 位运算 数组 哈希表 🟠 🀄️ 🔗
2680 最大或值 贪心 位运算 数组 1+ 🟠 🀄️ 🔗
2683 相邻值的按位异或 [✓] 位运算 数组 🟠 🀄️ 🔗
2708 一个小组的最大实力值 贪心 位运算 数组 4+ 🟠 🀄️ 🔗
2732 找到矩阵中的好子集 位运算 数组 哈希表 1+ 🔴 🀄️ 🔗
2741 特别的排列 位运算 数组 动态规划 1+ 🟠 🀄️ 🔗
2749 得到整数零需要执行的最少操作数 位运算 脑筋急转弯 🟠 🀄️ 🔗
2791 树中可以形成回文的路径数 位运算 深度优先搜索 2+ 🔴 🀄️ 🔗
2802 找出第 K 个幸运数字 🔒 位运算 数学 字符串 🟠 🀄️ 🔗
2835 使子序列的和等于目标的最少操作次数 贪心 位运算 数组 🔴 🀄️ 🔗
2836 在传球游戏中最大化函数值 位运算 数组 动态规划 🔴 🀄️ 🔗
2857 统计距离为 k 的点对 位运算 数组 哈希表 🟠 🀄️ 🔗
2859 计算 K 置位下标对应元素的和 位运算 数组 🟢 🀄️ 🔗
2869 收集元素的最少操作次数 位运算 数组 哈希表 🟢 🀄️ 🔗
2871 将数组分割成最多数目的子数组 贪心 位运算 数组 🟠 🀄️ 🔗
2897 对数组执行操作使平方和最大 贪心 位运算 数组 1+ 🔴 🀄️ 🔗
2917 找出数组中的 K-or 值 位运算 数组 🟢 🀄️ 🔗
2920 收集所有金币可获得的最大积分 位运算 深度优先搜索 2+ 🔴 🀄️ 🔗
2932 找出强数对的最大异或值 I 位运算 字典树 数组 2+ 🟢 🀄️ 🔗
2935 找出强数对的最大异或值 II 位运算 字典树 数组 2+ 🔴 🀄️ 🔗
2939 最大异或乘积 贪心 位运算 数学 🟠 🀄️ 🔗
2959 关闭分部的可行集合数目 位运算 枚举 2+ 🔴 🀄️ 🔗
2980 检查按位或是否存在尾随零 位运算 数组 🟢 🀄️ 🔗
2992 自整除排列的数量 🔒 位运算 数组 动态规划 2+ 🟠 🀄️ 🔗
2997 使数组异或和等于 K 的最少操作次数 位运算 数组 🟠 🀄️ 🔗
3003 执行操作后的最大分割数量 位运算 字符串 动态规划 1+ 🔴 🀄️ 🔗
3007 价值和小于等于 K 的最大数字 位运算 二分查找 动态规划 🟠 🀄️ 🔗
3011 判断一个数组是否可以变为有序 [✓] 位运算 数组 排序 🟠 🀄️ 🔗
3022 给定操作次数内使剩余元素的或值最小 贪心 位运算 数组 🔴 🀄️ 🔗
3064 使用按位查询猜测数字 I 🔒 位运算 交互 🟠 🀄️ 🔗
3068 最大节点价值之和 贪心 位运算 3+ 🔴 🀄️ 🔗
3094 使用按位查询猜测数字 II 🔒 位运算 交互 🟠 🀄️ 🔗
3095 或值至少 K 的最短子数组 I 位运算 数组 滑动窗口 🟢 🀄️ 🔗