给你一个二进制数组 nums
。
你可以对数组执行以下操作 任意 次(也可以 0 次):
反转 一个元素指的是将它的值从 0 变 1 ,或者从 1 变 0 。
请你返回将 nums
中所有元素变为 1 的 最少 操作次数。如果无法全部变成 1 ,返回 -1 。
示例 1:
输入:nums = [0,1,1,1,0,0]
输出:3
解释:
我们可以执行以下操作:
nums = [1,0,0,1,0,0]
。nums = [1,1,1,0,0,0]
。nums = [1,1,1,1,1,1]
。示例 2:
输入:nums = [0,1,1,1]
输出:-1
解释:
无法将所有元素都变为 1 。
提示:
3 <= nums.length <= 105
0 <= nums[i] <= 1