🗒️ 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 中 所有 整数对里,数位差之和。

🗒️ 1863. 找出所有子集的异或总和再求和

一个数组的 异或总和 定义为数组中所有元素按位 XOR 的结果;如果数组为 空 ,则异或总和为 0 。 • 例如,数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 = 1 。 给你一个数组 nums ,请你求出 nums 中每个 子集 的 异或总和 ,计算并返回这些值相加之 和 。 注意:在本题中,元素 相同 的不同子集应 多次 计数。 数组 a 是数组 b 的一个 子集 的前提条件是:从 b 删除几个(也可能不删除)元素能够得到 a 。

🗒️ 2275. 按位与结果大于零的最长组合

对数组 nums 执行 按位与 相当于对数组 nums 中的所有整数执行 按位与 。 • 例如,对 nums = [1, 5, 3] 来说,按位与等于 1 & 5 & 3 = 1 。 • 同样,对 nums = [7] 而言,按位与等于 7 。 给你一个正整数数组 candidates 。计算 candidates 中的数字每种组合下 按位与 的结果。 返回按位与结果大于 0 的 最长 组合的长度。

🗒️ 2425. 所有数对的异或和

给你两个下标从 0 开始的数组 nums1 和 nums2 ,两个数组都只包含非负整数。请你求出另外一个数组 nums3 ,包含 nums1 和 nums2 中 所有数对 的异或和(nums1 中每个整数都跟 nums2 中每个整数 恰好 匹配一次)。 请你返回 nums3 中所有整数的 异或和 。

🗒️ 477. 汉明距离总和

两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。 给你一个整数数组 nums,请你计算并返回 nums 中任意两个数之间 汉明距离的总和 。

🗒️ 2401. 最长优雅子数组

给你一个由 正 整数组成的数组 nums 。 如果 nums 的子数组中位于 不同 位置的每对元素按位 与(AND)运算的结果等于 0 ,则称该子数组为 优雅 子数组。 返回 最长 的优雅子数组的长度。 子数组 是数组中的一个 连续 部分。 注意:长度为 1 的子数组始终视作优雅子数组。