🗒️ 371. 两整数之和

给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和。

🗒️ 190. 颠倒二进制位

颠倒给定的 32 位无符号整数的二进制位。 提示: • 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。 • 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。

🗒️ 2509. 查询树中环的长度

给你一个整数 n ,表示你有一棵含有 2n - 1 个节点的 完全二叉树 。根节点的编号是 1 ,树中编号在[1, 2n - 1 - 1] 之间,编号为 val 的节点都有两个子节点,满足: • 左子节点的编号为 2 * val • 右子节点的编号为 2 * val + 1 给你一个长度为 m 的查询数组 queries ,它是一个二维整数数组,其中 queries[i] = [ai, bi] 。对于每个查询,求出以下问题的解: 1. 在节点编号为 ai 和 bi 之间添加一条边。 2. 求出图中环的长度。 3. 删除节点编号为 ai 和 bi 之间新添加的边。 注意: • 环 是开始和结束于同一节点的一条路径,路径中每条边都只会被访问一次。 • 环的长度是环中边的数目。 • 在树中添加额外的边后,两个点之间可能会有多条边。 请你返回一个长度为 m 的数组 answer ,其中 answer[i] 是第 i 个查询的结果。

🗒️ 23. 合并 K 个升序链表

给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。

🗒️ 2568. 最小无法得到的或值

给你一个下标从 0 开始的整数数组 nums 。 如果存在一些整数满足 0 <= index1 < index2 < ... < indexk < nums.length ,得到 nums[index1] | nums[index2] | ... | nums[indexk] = x ,那么我们说 x 是 可表达的 。换言之,如果一个整数能由 nums 的某个子序列的或运算得到,那么它就是可表达的。 请你返回 nums 不可表达的 最小非零整数 。

🗒️ 31. 下一个排列

整数数组的一个 排列  就是将其所有成员以序列或线性顺序排列。 • 例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。 • 例如,arr = [1,2,3] 的下一个排列是 [1,3,2] 。 • 类似地,arr = [2,3,1] 的下一个排列是 [3,1,2] 。 • 而 arr = [3,2,1] 的下一个排列是 [1,2,3] ,因为 [3,2,1] 不存在一个字典序更大的排列。 给你一个整数数组 nums ,找出 nums 的下一个排列。 必须 原地 修改,只允许使用额外常数空间。

🗒️ 3315. 构造最小位运算数组 II

给你一个长度为 n 的质数数组 nums 。你的任务是返回一个长度为 n 的数组 ans ,对于每个下标 i ,以下 条件 均成立: • ans[i] OR (ans[i] + 1) == nums[i] 除此以外,你需要 最小化 结果数组里每一个 ans[i] 。 如果没法找到符合 条件 的 ans[i] ,那么 ans[i] = -1 。 质数 指的是一个大于 1 的自然数,且它只有 1 和自己两个因数。

🗒️ 2571. 将整数减少到零需要的最少操作数

给你一个正整数 n ,你可以执行下述操作 任意 次: • n 加上或减去 2 的某个 幂 返回使 n 等于 0 需要执行的 最少 操作数。 如果 x == 2i 且其中 i >= 0 ,则数字 x 是 2 的幂。

🗒️ 1558. 得到目标数组的最少函数调用次数

给你一个与 nums 大小相同且初始值全为 0 的数组 arr ,请你调用以上函数得到整数数组 nums 。 请你返回将 arr 变成 nums 的最少函数调用次数。 答案保证在 32 位有符号整数以内。

🗒️ 2546. 执行逐位运算使字符串相等

给你两个下标从 0 开始的 二元 字符串 s 和 target ,两个字符串的长度均为 n 。你可以对 s 执行下述操作 任意 次: • 选择两个 不同 的下标 i 和 j ,其中 0 <= i, j < n 。 • 同时,将 s[i] 替换为 (s[i] OR s[j]) ,s[j] 替换为 (s[i] XOR s[j]) 。 例如,如果 s = "0110" ,你可以选择 i = 0 和 j = 2,然后同时将 s[0] 替换为 (s[0] OR s[2] = 0 OR 1 = 1),并将 s[2] 替换为 (s[0] XOR s[2] = 0 XOR 1 = 1),最终得到 s = "1110" 。 如果可以使 s 等于 target ,返回 true ,否则,返回 false 。

🗒️ 645. 错误的集合

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。

🗒️ 3153. 所有数对中数位差之和

你有一个数组 nums ,它只包含 正 整数,所有正整数的数位长度都 相同 。 两个整数的 数位差 指的是两个整数 相同 位置上不同数字的数目。 请你返回 nums 中 所有 整数对里,数位差之和。