1262. 可被三整除的最大和

题目 给你一个整数数组 nums,请你找出并返回能被三整除的元素 最大和。 示例 1: 输入:nums = [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。 示例 2: 输入:nums = [4] 输出:0 解释:4 不能被 3 整除,所以无法选出数字,返回 0。 示例 3: 输入:nums = [1,2,3,…

1930. 长度为 3 的不同回文子序列

题目 给你一个字符串 s ,返回 s 中 长度为 3 的不同回文子序列 的个数。 即便存在多种方法来构建相同的子序列,但相同的子序列只计数一次。 回文 是正着读和反着读一样的字符串。 子序列 是由原字符串删除其中部分字符(也可以不删除)且不改变剩余字符之间相对顺序形成的一个新字符串。 * 例如,"ace" 是 "abcde" 的一个子序列。 示例 1: 输入:s = "aabca" 输出:3 解释:长度为 3 的 3 个回文子序列分别是: * "aba" ("aabca" 的子序列) * "…

1513. 仅含 1 的子串数

题目 给你一个二进制字符串 s(仅由 '0' 和 '1' 组成的字符串)。 返回所有字符都为 1 的子字符串的数目。 由于答案可能很大,请你将它对 10^9 + 7 取模后返回。 示例 1: 输入:s = "0110111" 输出:9 解释:共有 9 个子字符串仅由 '1' 组成 "1" -> 5 次 "11" ->…

3228. 将 1 移动到末尾的最大操作次数

题目 给你一个 二进制字符串 s。 你可以对这个字符串执行 任意次 下述操作: * 选择字符串中的任一下标 i( i + 1 < s.length ),该下标满足 s[i] == '1' 且 s[i + 1] == '0'。 * 将字符 s[i] 向 右移 直到它到达字符串的末端或另一个 '1'。例如,对于 s = "010010",如果我们选择 i = 1,结果字符串将会是 s = "0**001*…

2654. 使数组所有元素变成 1 的最少操作次数

题目 给你一个下标从 0 开始的 正 整数数组 nums 。你可以对数组执行以下操作 任意 次: * 选择一个满足 0 <= i < n - 1 的下标 i ,将 nums[i] 或者 nums[i+1] 两者之一替换成它们的最大公约数。 请你返回使数组 nums 中所有元素都等于 1 的 最少 操作次数。如果无法让数组全部变成 1 ,请你返回 -1 。 两个正整数的最大公约数指的是能整除这两个数的最大正整数。 示例 1: 输入:nums = [2,6,3,4] 输出:4…

474. 一和零

题目 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 示例 1: 输入:strs = ["10", "0001", "111001", "1", "0"…

3542. 将所有元素变为 0 的最少操作次数

题目 给你一个大小为 n 的 非负 整数数组 nums 。你的任务是对该数组执行若干次(可能为 0 次)操作,使得 所有 元素都变为 0。 在一次操作中,你可以选择一个子数组 [i, j](其中 0 <= i <= j < n),将该子数组中所有 最小的非负整数 的设为 0。 返回使整个数组变为 0 所需的最少操作次数。 一个 子数组 是数组中的一段连续元素。 示例 1: 输入: nums = [0,2] 输出: 1 解释: * 选择子数组 [1,1]…

1611. 使整数变为 0 的最少操作次数

题目 给你一个整数 n,你需要重复执行多次下述操作将其转换为 0 : * 翻转 n 的二进制表示中最右侧位(第 0 位)。 * 如果第 (i-1) 位为 1 且从第 (i-2) 位到第 0 位都为 0,则翻转 n 的二进制表示中的第 i 位。 返回将 n 转换为 0 的最小操作次数。 示例 1: 输入:n = 3 输出:2 解释:3 的二进制表示为 "11" "11" -> "…