力扣3191.使二进制数全变成1

news/2024/10/20 7:57:52/

给你一个二进制数组 nums 。

你可以对数组执行以下操作 任意 次(也可以 0 次):

  • 选择数组中 任意连续 3 个元素,并将它们 全部反转 。

反转 一个元素指的是将它的值从 0 变 1 ,或者从 1 变 0 。

请你返回将 nums 中所有元素变为 1 的 最少 操作次数。如果无法全部变成 1 ,返回 -1 。

示例 1:

输入:nums = [0,1,1,1,0,0]

输出:3

解释:
我们可以执行以下操作:

  • 选择下标为 0 ,1 和 2 的元素并反转,得到 nums = [1,0,0,1,0,0] 。
  • 选择下标为 1 ,2 和 3 的元素并反转,得到 nums = [1,1,1,0,0,0] 。
  • 选择下标为 3 ,4 和 5 的元素并反转,得到 nums = [1,1,1,1,1,1] 。

示例 2:

输入:nums = [0,1,1,1]

输出:-1

解释:
无法将所有元素都变为 1 。

提示:

  • 3 <= nums.length <= 105
  • 0 <= nums[i] <= 1

 

class Solution:def minOperations(self, nums: List[int]) -> int:ans = 0for i in range(len(nums) - 2):if nums[i] == 0:  # 必须操作nums[i + 1] ^= 1nums[i + 2] ^= 1ans += 1return ans if nums[-2] and nums[-1] else -1

参考:灵茶山艾府

链接:https://leetcode.cn/problems/minimum-operations-to-make-binary-array-elements-equal-to-one-i/solutions/2819085/cong-zuo-dao-you-xiu-gai-pythonjavacgo-b-k38u/


http://www.ppmy.cn/news/1540471.html

相关文章

证件照小程序源码,前后端稳定运行

演示&#xff1a;证寸照制作 运行环境: Linux Nginx PHP >5.6 MySQL>5.6 安装步骤: 1.下载源码上传至你的服务器宝塔面板 2.直接添加站点选择源码目录&#xff0c;新建数据库 3.设置代码执行目录为/web 4.在浏览器中输入你的域名&#xff0c;会提示安装&#xff0c;填写…

UE4 材质学习笔记09(雨水水坑着色器/完整雨水着色器)

一.雨水水坑着色器 要用到这样一个噪声贴图&#xff0c;我们要做的就是&#xff0c;做出水坑并让水坑在这种浑浊的噪点中产生&#xff0c;因此水坑将从最暗的斑点生长&#xff0c;然后随着它继续占据越来越亮的像素而生长 现在水坑将从上到下投射到世界空间中&#xff0c;所以…

高级java每日一道面试题-2024年10月15日-JVM篇-说一下JVM的主要组成部分?及其作用?

如果有遗漏,评论区告诉我进行补充 面试官: 说一下JVM的主要组成部分?及其作用? 我回答: Java 虚拟机&#xff08;JVM&#xff09;是 Java 运行时环境的核心组件&#xff0c;它负责执行 Java 字节码。JVM 的主要组成部分及其作用如下&#xff1a; 类加载器子系统 (Class L…

【H2O2|全栈】WPS/Office系列有哪些好用的快捷方式?

目录 WPS/Office 前言 准备工作 Office通用快捷键 PPT快捷键 Excel快捷键 Word快捷键 结束语 WPS/Office 前言 本章节属于前端前置知识&#xff0c;即使不学习前端&#xff0c;在工作中掌握常见的WPS/Office办公技能也是十分重要的。在本篇中&#xff0c;我将会分享常…

数据结构-贪心算法笔记

前言&#xff1a;贪心无套路&#xff0c;狠狠刷就完事 分发饼干 455. 分发饼干 - 力扣&#xff08;LeetCode&#xff09; class Solution {/*** 找出最多有多少个孩子可以得到糖果。** param g 一个数组&#xff0c;表示每个孩子对糖果大小的满意度。* param s 一个数组&…

【移动安全】OWASP MASTG 移动应用程序安全测试指南

OWASP 是 Open Web Application Security Project MASTG 是 Mobile Application Security Testing Guide 移动应用程序安全测试指南 英文网站&#xff1a;https://mas.owasp.org/MASTG/ 中文网站&#xff1a;http://www.owasp.org.cn/OWASP-CHINA/owasp-project/owasp-mobile-…

Java项目-基于springboot框架的校园在线拍卖系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南

文章简介&#xff1a; 将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中&#xff0c;我将详细介绍如何将本地的 Node.js 服务通过宝塔面板&#xff08;BT 面板&#xff09;上线。宝塔面板是一个强大的服务器管理工具&#xff0c;具有简洁的…