【力扣每日一题】2023.9.2 最多可以摧毁的敌人城堡数量
目录
题目:
示例:
分析:
代码:
题目:

示例:

分析:
这道题难在阅读理解,题目看得我匪夷所思,错了好多个测试用例才明白题目说的是什么。
我简单翻译一下就是寻找1和-1之间0最多的数量,1和-1之间只能有0。
我们可以套两层循环,第一层for循环去寻找1,如果找到了1,那么我们开始在当前下标往左右两边寻找最近的-1,并且统计0的数量,需要注意的是如果先碰到了1,那么表示我们无法落脚,也就不能更新答案,因为题目说的我们只能在-1的地方落脚,并且1到-1之间只能有0。
在结束往右寻找的时候,我们可以把往右寻找的下标赋值给第一层循环的下标,因为我们结束往右寻找的时候,下标所在的位置要么是1要么是-1,赋值给第一层循环可以少遍历几次,不过题目中给的数据量比较小,所以这个小优化是可有可无的。

具体操作可以参考下面的代码和动图。

代码:
class Solution {
public:int captureForts(vector<int>& forts) {int res=0;int n=forts.size();for(int i=0;i<n;i++){if(forts[i]==1){ //遇到了自己的城堡int t=0,index=i-1;while(index>=0){ //去寻找左边能摧毁的敌人城堡数量if(forts[index]==1) break; //先遇到自己的城堡则表示左边没有落脚点if(forts[index]==-1){ //当遇到空地就结束寻找并更新答案res=max(res,t);break;}t++;index--;}t=0,index=i+1;while(index<n){ //去寻找右边能摧毁的敌人城堡数量if(forts[index]==1) break;if(forts[index]==-1){res=max(res,t);break;}t++;index++;}//i=index-1; //小小优化一下,可有可无}}return res;}
};
相关文章:
【力扣每日一题】2023.9.2 最多可以摧毁的敌人城堡数量
目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 这道题难在阅读理解,题目看得我匪夷所思,错了好多个测试用例才明白题目说的是什么。 我简单翻译一下就是寻找1和…...
kotlin实现java的单例模式
代码 package com.flannery.interviewdemo.singleinstance//https://blog.csdn.net/Jason_Lee155/article/details/128796742 Java实现 //public class SingletonDemo { // private static SingletonDemo instancenew SingletonDemo(); // private SingletonDemo() // …...
使用 KeyValueDiffers 检测Angular 对象的变化
使用 KeyValueDiffers 检测Angular 对象的变化 ngDoCheck钩子 ngDoCheck 是 Angular 生命周期钩子之一。它允许组件在 Angular 检测到变化时执行自定义的变化检测逻辑。 当任何组件或指令的输入属性发生变化、在组件内部发生了变更检测周期或者当主动触发变更检测策略&#…...
Macos 10.13.2安装eclipse
eclipse for php 安装2021-12最后版本4.22 2021-12 R | Eclipse Packages jdk17 x64 dmg安装包,要安装jdk这个才能运行 Java Downloads | Oracle...
Android逆向学习(一)vscode进行android逆向修改并重新打包
Android逆向学习(一)vscode进行android逆向修改并重新打包 写在前面 其实我不知道这个文章能不能写下去,其实我已经开了很多坑但是都没填上,现在专利也发出去了,就开始填坑了,本坑的主要内容是关于androi…...
【深入浅出设计模式--状态模式】
深入浅出设计模式--状态模式 一、背景二、问题三、解决方案四、 适用场景总结五、后记 一、背景 状态模式是一种行为设计模式,让你能在一个对象的内部状态变化时改变其行为,使其看上去就像改变了自身所属的类一样。其与有限状态机的概念紧密相关&#x…...
Debezium系列之:Debezium Server在生产环境大规模应用详细的技术方案
Debezium系列之:Debezium Server在生产环境大规模应用详细的技术方案 一、需求背景二、Debezium Server实现技术三、技术方案流程四、生成接入配置五、新增数据库接入和删除数据库接入效果六、监控zookeeper节点程序七、新增数据库接入部署debezium server程序八、删除数据库接…...
Echart笔记
Echart笔记 柱状图带背景色的柱状图将X与Y轴交换制作为进度条 柱状图 带背景色的柱状图 将X与Y轴交换制作为进度条 //将X与Y轴交换制作为进度条 option { xAxis: {type: value,min:0,max:100,show:false,//隐藏x轴},yAxis: {type: category,data:[进度条],show:false,//隐…...
docker 笔记1
目录 1.为什么有docker ? 2.Docker 的核心概念 3.容器与虚拟机比较 3.1传统的虚拟化技术 3.2容器技术 3.3Docker容器的有什么作用? 3.4应用案例 4. docker 安装下载 4.1CentOS Docker 安装 4.2 Docker的基本组成 ?(面试)…...
HTTP Get 和 Post 的区别
分析&回答 使用规范 根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。 根据HTTP规范,POST表示可能修改变服务器上的资源的请求。 传递参数 GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中)。…...
C++超级迷宫游戏
游戏效果 用钥匙、护盾等道具帮助你的小人通过大门、墙、怪物、岩浆等困难到达终点。 游戏代码 #include<bits/stdc.h> #include<conio.h> #include<windows.h> using namespace std; void Color(int a) {if(a0) SetConsoleTextAttribute(GetStdHandle(STD…...
CUDA小白 - NPP(3) 图像处理 Color and Sampling Conversion
cuda小白 原始API链接 NPP GPU架构近些年也有不少的变化,具体的可以参考别的博主的介绍,都比较详细。还有一些cuda中的专有名词的含义,可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》 常见的NppStatus…...
Android硬件通信之 串口通信
一,串口介绍 1.1 串口简介 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口; 串行接口(SerialInterface)是指数据一位一位地顺序…...
高防服务器面对DDOS攻击的威胁有何必要性
高防服务器面对DDOS攻击的威胁有何必要性?分布式拒绝服务(DDoS)攻击是一种常见而危险的网络攻击形式,它可以使目标网络服务器过载,导致服务不可用。本文将深入探讨DDoS攻击的威胁,以及高防服务器在抵御这种…...
VBA中如何将if写到一行
在VBA中,可以使用以下两种方式来编写一行if语句: 使用三元运算符: Dim result As String result "Yes" If True Else "No"在这个例子中,如果条件为真,则result变量的值为"Yes"&#…...
性能测试,python 内存分析工具 -memray
Memray是一个由彭博社开发的、开源内存剖析器;开源一个多月,已经收获了超8.4k的star,是名副其实的明星项目。今天我们就给大家来推荐这款python内存分析神器。 Memray可以跟踪python代码、本机扩展模块和python解释器本身中内存分配…...
Jmeter(二十八):beanshell的使用
Beanshell 是一种轻量级的 Java 脚本,纯 Java 编写的,能够动态的执行标准 java 语法及一些扩展脚本语法,类似于 javaScript,在工作中可能用的多的就是: Beanshell 取样器:跟Http取样器并列Beanshell前置处理器:一般放在Http请求下,在请求前处理一些数据Beanshell后置处…...
数学建模:层次分析法
🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 层次分析法 步骤描述 将问题条理化,层次化,构建出一个有层次的结构模型。层次分为三类:目标层,准则(指标)层,方案层。比…...
POI-TL制作word
本文相当于笔记,主要根据官方文档Poi-tl Documentation和poi-tl的使用(最全详解)_JavaSupeMan的博客-CSDN博客文章进行学习(上班够用) Data AllArgsConstructor NoArgsConstructor ToString EqualsAndHashCode public …...
大数据Flink(七十一):SQL的时间属性
文章目录 SQL的时间属性 一、Flink三种时间属性简介...
Open UI5 源代码解析之842:ChartSelectionDetails.js
源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.ui.mdc\src\sap\ui\mdc\chart\ChartSelectionDetails.js ChartSelectionDetails 文件详解与项目作用说明 概览 ChartSelectionDetails.js 在 openui5 的 sap.ui.mdc chart 相关模块里,承担了将图表选择…...
7个Live-Charts单元测试实战技巧:确保图表组件稳定运行的完整指南
7个Live-Charts单元测试实战技巧:确保图表组件稳定运行的完整指南 【免费下载链接】Live-Charts Simple, flexible, interactive & powerful charts, maps and gauges for .Net 项目地址: https://gitcode.com/gh_mirrors/li/Live-Charts Live-Charts是一…...
lingbot-depth-pretrain-vitl-14多场景落地:AR实时遮挡、3D重建、工业检测一文详解
lingbot-depth-pretrain-vitl-14多场景落地:AR实时遮挡、3D重建、工业检测一文详解 想象一下,你手里只有一部普通的手机摄像头,却想让它像人眼一样“感知”距离,知道哪个物体离你近,哪个离你远。或者,你有…...
OpenClaw安全实践:Qwen3.5-9B本地化部署防数据泄露方案
OpenClaw安全实践:Qwen3.5-9B本地化部署防数据泄露方案 1. 为什么需要关注OpenClaw的安全问题? 去年冬天,我在整理公司财报时突然意识到一个问题:如果让AI助手帮我处理这些敏感文件,数据会不会被意外上传到云端&…...
OpenClaw 局域网访问配置文档
OpenClaw 局域网访问配置文档 概述 本文档详细说明了如何配置 OpenClaw 以允许局域网内的其他设备访问,包括所有相关配置参数的作用和说明。 当前配置状态 网关服务信息 服务端口: 18789 绑定模式: lan (局域网访问) 认证方式: password (密码认证) 访问密码: xxxxxx 详细…...
OpenClaw安装部署Mac操作系统版 - 打造你的专属AI助理
【第二篇】OpenClaw安装部署Mac操作系统版 - 打造你的专属AI助理摘要:Mac系统是OpenClaw的最佳部署平台之一。本文详细介绍在macOS上安装部署OpenClaw的完整流程,包括环境准备、多种安装方式、权限配置等内容,让Mac用户轻松搭建AI智能体平台。…...
手把手教你理解半导体中的电阻优化:polycide与salicide的实战应用
半导体工艺中的电阻优化艺术:深入解析polycide与salicide技术 在28nm以下先进制程中,金属硅化物技术已成为决定芯片性能的关键因素。当我们翻开任何一款现代处理器的版图,polycide和salicide这两种看似相似的工艺,实际上在晶体管的…...
3个技巧让Sketch设计稿命名效率提升300%:Rename It插件终极指南
3个技巧让Sketch设计稿命名效率提升300%:Rename It插件终极指南 【免费下载链接】RenameIt Keep your Sketch files organized, batch rename layers and artboards. 项目地址: https://gitcode.com/gh_mirrors/re/RenameIt 想象一下这个场景:你刚…...
告别官方解锁后,我们还能怎么玩?深挖华为荣耀解BL的三种野路子与工具链
华为荣耀设备解锁技术深度解析:原理、工具与风险规避 在移动设备定制化需求日益增长的今天,安卓系统的Bootloader解锁成为技术爱好者绕不开的话题。特别是对于华为和荣耀设备用户而言,自2018年官方关闭解锁服务后,这一过程变得更…...
回表为什么慢:二级索引到聚簇索引、覆盖索引与“延迟关联”
目标:你能把“回表”解释成一个可量化的成本模型,并掌握两类实战优化:覆盖索引与延迟关联(先查主键再回表)。1. 先把概念说透:InnoDB 的两棵树 聚簇索引(主键 B 树):叶子…...
