2025-01-22:使二进制数组全部等于 1 的最少操作次数Ⅱ。用go语言,给定一个二进制数组 nums,你可以对数组进行以下操作任意次(包括0次):
选择任何一个下标 i,并将从该下标开始到数组末尾的所有元素进行反转。反转的意思是将0变为1,或将1变为0。
请计算将 nums 数组中的所有元素都变为1所需的最少操作次数。
1 <= nums.length <= 100000。
0 <= nums[i] <= 1。
输入:nums = [0,1,1,0,1]。
输出:4。
解释:
我们可以执行以下操作:
选择下标 i = 1 执行操作,得到 nums = [0,0,0,1,0] 。
选择下标 i = 0 执行操作,得到 nums = [1,1,1,0,1] 。
选择下标 i = 4 执行操作,得到 nums = [1,1,1,0,0] 。
选择下标 i = 3 执行操作,得到 nums = [1,1,1,1,1] 。
相似问题