当前位置: 首页 > article >正文

day-68 使二进制数组全部等于 1 的最少操作次数 I

在这里插入图片描述
思路
关键:对同一个i至多操作一次,就可以做到最少的操作次数,且操作的顺序不重要,那么即可从左到右操作,结果一样的,遇到1不操作,遇到0则操作,用一个变量记录操作次数,最后返回即可

解题过程
每次遇到0时,将当前的数及后面两个相连的数与1异或即可

Code

class Solution {
    public int minOperations(int[] nums) {
        int len=nums.length;
        int ans=0;
        for(int i=0;i<len-2;i++){
            if(nums[i]==0){
                ans++;
                nums[i]=1^nums[i];
                nums[i+1]=1^nums[i+1];
                nums[i+2]=1^nums[i+2];
            }
        }
        if(nums[len-2]==0||nums[len-1]==0){
            return -1;
        }else return ans;
    }
}

作者:菜卷
链接:https://leetcode.cn/problems/minimum-operations-to-make-binary-array-elements-equal-to-one-i/solutions/2955951/shi-er-jin-zhi-shu-zu-quan-bu-deng-yu-1-nyu5c/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.kler.cn/news/354921.html

相关文章:

  • 三步指南 | 如何轻松将CATIA文件导入SOLIDWORKS?
  • 【热门】智慧果园管理系统解决方案
  • TCP(三次握手)和UDP(面向无连接)的原理以及区别
  • 软硬连接及动静态库
  • LeetCode岛屿数量
  • 滚雪球学Redis[3.2讲]:AOF持久化机制:原理、配置与优化等全面详解!
  • 基于FPGA的无人机控制系统
  • 探索 Spring AI:Java 开发者的 AI 应用开发新利器
  • java-sec-code学习3-目录穿越漏洞
  • Spring Boot 整合 MyBatis 快速入门超详教程
  • 设计模式04-创建型模式1(简单工厂/工厂模式/抽象工厂/Java)
  • 敏捷Scrum项目管理方法,如何做好敏捷项目管理❓
  • 距离上次发文已经十个多月了
  • linux svn命令简单使用
  • 面试会问到的AI 算法题(二)
  • postgresql是国产数据库吗?
  • 4.8 大数据发展趋势
  • 春日编程助手:Spring Boot课程答疑服务
  • 大数据治理:全面提升数据资产价值
  • TSmaster CAN的E2E检验配置