跳到主要内容

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