3191.使二进制数组全部等于1的最少操作次数I
链接:3191.使二进制数组全部等于1的最少操作次数I
难度:Medium
标签:位运算、队列、数组、前缀和、滑动窗口
简介:请你返回将 nums 中所有元素变为 1 的 最少 操作次数。如果无法全部变成 1 ,返回 -1 。
题解 1 - sql
- 编辑时间:2024-10-18
- 执行用时:158ms
- 内存消耗:20.34MB
- 编程语言:sql
- 解法介绍:模拟
class Solution:
def minOperations(self, nums: List[int]) -> int:
n = len(nums)
cnt = 0
for i in range(n - 2):
if nums[i] == 0:
nums[i] ^= 1
nums[i + 1] ^= 1
nums[i + 2] ^= 1
cnt += 1
if nums[n - 1] == 0 or nums[n - 2] == 0: return -1
return cnt