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" -> "…

2528. 最大化城市的最小电量

题目 给你一个下标从 0 开始长度为 n 的整数数组 stations ,其中 stations[i] 表示第 i 座城市的供电站数目。 每个供电站可以在一定 范围 内给所有城市提供电力。换句话说,如果给定的范围是 r ,在城市 i 处的供电站可以给所有满足 |i - j| <= r 且 0 <= i, j <= n - 1 的城市 j 供电。 * |x| 表示 x 的 绝对值 。比方说,|7 - 5| = 2 ,|3…

3607. 电网维护

题目 给你一个整数 c,表示 c 个电站,每个电站有一个唯一标识符 id,从 1 到 c 编号。 这些电站通过 n 条 双向 电缆互相连接,表示为一个二维数组 connections,其中每个元素 connections[i] = [ui, vi] 表示电站 ui 和电站 vi 之间的连接。直接或间接连接的电站组成了一个 电网 。 最初,所有 电站均处于在线(正常运行)状态。 另给你一个二维数组 queries,其中每个查询属于以下 两种类型之一 : * [1, x]:请求对电站 x 进行维护检查。如果电站 x 在线,则它自行解决检查。…

1578. 使绳子变成彩色的最短时间

题目 Alice 把 n 个气球排列在一根绳子上。给你一个下标从 0 开始的字符串 colors ,其中 colors[i] 是第 i 个气球的颜色。 Alice 想要把绳子装扮成 五颜六色的 ,且她不希望两个连续的气球涂着相同的颜色,所以她喊来 Bob 帮忙。Bob 可以从绳子上移除一些气球使绳子变成 彩色 。给你一个 下标从 0 开始 的整数数组 neededTime ,其中 neededTime[i] 是 Bob 从绳子上移除第 i 个气球需要的时间(以秒为单位)。 返回 Bob 使绳子变成 彩色 需要的 最少时间 。 示例 1: 输入:colors…

2257. 统计网格图中没有被保卫的格子数

题目 给你两个整数 m 和 n 表示一个下标从 0 开始的 m x n 网格图。同时给你两个二维整数数组 guards 和 walls ,其中 guards[i] = [rowi, coli] 且 walls[j] = [rowj, colj] ,分别表示第 i 个警卫和第 j 座墙所在的位置。 一个警卫能看到 4 个坐标轴方向(即东、南、西、北)的 所有 格子,除非他们被一座墙或者另外一个警卫 挡住 了视线。如果一个格子能被 至少 一个警卫看到,那么我们说这个格子被 保卫 了。…