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

做网站还要写文章吗网页制作dw怎么制作特效

做网站还要写文章吗,网页制作dw怎么制作特效,便宜域名购买,二级建造师最好的网站来源:力扣(LeetCode) 描述: 给你一个长度为 n ,下标从 0 开始的整数数组 forts ,表示一些城堡。forts[i] 可以是 -1 ,0 或者 1 ,其中: -1 表示第 i 个位置 没有 城堡。…

来源:力扣(LeetCode)

描述:

给你一个长度为 n ,下标从 0 开始的整数数组 forts ,表示一些城堡。forts[i] 可以是 -10 或者 1 ,其中:

  • -1 表示第 i 个位置 没有 城堡。
  • 0 表示第 i 个位置有一个 敌人 的城堡。
  • 1 表示第 i 个位置有一个你控制的城堡。

现在,你需要决定,将你的军队从某个你控制的城堡位置 i 移动到一个空的位置 j ,满足:

  • 0 <= i, j <= n - 1
  • 军队经过的位置 只有 敌人的城堡。正式的,对于所有 min(i, j) < k < max(i, j)k ,都满足 forts[k] == 0
    当军队移动时,所有途中经过的敌人城堡都会被 摧毁

请你返回 最多 可以摧毁的敌人城堡数目。如果 无法 移动你的军队,或者没有你控制的城堡,请返回 0

示例 1:

输入:forts = [1,0,0,-1,0,0,0,0,1]
输出:4
解释:
- 将军队从位置 0 移动到位置 3 ,摧毁 2 个敌人城堡,位置分别在 12- 将军队从位置 8 移动到位置 3 ,摧毁 4 个敌人城堡。
4 是最多可以摧毁的敌人城堡数目,所以我们返回 4

示例 2:

输入:forts = [0,0,1,-1]
输出:0
解释:由于无法摧毁敌人的城堡,所以返回 0

提示:

  • 1 <= forts.length <= 1000
  • -1 <= forts[i] <= 1

方法:直接模拟

思路与算法

根据题意可以知道军队从 i 处移动到 j 处时需要满足如下要求:

  • 由于在 i 处的城堡为你方军队控制的城堡,则一定满足 forts[i] = 1;
  • 由于在 j 处为空位置,则一定满足 forts[j] = −1;
  • 在移动过程中如下,由于军队经过的位置只只能为敌人的城堡,因此当 k ∈ (min⁡(i, j), max(i, j)) 时,需满足 forts[k] = 0。
  • 当军队移动时,所有途中经过的敌人城堡都会被摧毁,题目要求找到一次移动后可以摧毁敌人城堡的最大数目。

根据以上分析可以知道由于军队只能在不同位置之间连续移动,军队移动的起点为 1,军队移动的终点为 −1,军队可以向左移动也可以向右移动,因此我们只需要找到相邻的 1 与 −1 之间的最大距离即可,此时 1 与 −1 之间所有的 0 都会被摧毁。查找过程如下:

  • 依次遍历为数组 forts 中的每个元素,此时我们用 pre 记录数组中前一个为 1 或者 −1 的位置;
  • 假设当前元素 forts[i] 为 1 或者 −1,即当前位置可能为军队的起点为终点,此时假设 forts[i] ≠ forts[pre],即此时可以在 i 与 pre 之间可以移动,此时可以摧毁的城堡数目为 i − pre − 1,更新当前的最大城堡数目,同时记录新的 pre;

按照上述方法找到最大可以摧毁的城堡数目即可。

代码:

class Solution {
public:int captureForts(vector<int>& forts) {int ans = 0, pre = -1;for (int i = 0; i < forts.size(); i++) {if (forts[i] == 1 || forts[i] == -1) {if (pre >= 0 && forts[i] != forts[pre]) {ans = max(ans, i - pre - 1);}pre = i;}}return ans;}
};

时间 4ms 击败 49.52%使用 C++ 的用户
内存 7.31MB 击败 79.65%使用 C++ 的用户
复杂度分析

  • 时间复杂度:O(n),其中 n 表示数组 forts 的长度。在遍历 forts 时,每个元素只会遍历一次,因此时间复杂度为 O(n)。
  • 空间复杂度:O(1)。
    author:力扣官方题解
http://www.yayakq.cn/news/940368/

相关文章:

  • 果洛营销网站建设服务盈润企业网站管理系统
  • 机械加工网站哪里找网站程序是什么意思
  • 企业网站模版排版设计作品欣赏
  • 网站建设所需要的技能贵州网站建设公司推荐
  • 建设网站所有步骤WordPress动态背景图
  • 快递网站怎么制作汕头网站优化系统
  • 响应式网站开发视频怎么做网站收广告费
  • 福州建网站最新重大新闻
  • 郑州网站建设排名上海网站制作官网
  • 创业如何进行网站建设呼和浩特网站设计公司
  • 使用云主机做网站教程广17网站一起做网店
  • vue可以做pc网站吗百度人工服务电话
  • 微信怎么做一些微网站wordpress自主注册
  • asp.net 3.5网站开发全程解析 深圳网站建设公司排名
  • 做网站属于软件开发吗广州软件开发公司排行
  • 代理龙华网站建设模板建站代理
  • 全国互联网公司排名网站seo入门基础教程书籍
  • 织梦cms网站模板修改影视公司需要的许可证
  • 建设银行网站源码网站推广优势
  • 网站备案信息找回深圳公司免费网站建设
  • 物理结构网站wordpress中文版广告
  • 宁波网站推广工作室电话wordpress图片无损压缩
  • 锦州网站建设工作全国网站设计公司
  • 太原网站制作策划企业品牌文化建设学习网站
  • 有哪些外国网站国内可以登录的网站更新问题
  • 莱芜网站建设资情况介绍近两年成功的网络营销案例
  • 软件网站开发公司网站建设公司沈阳
  • 营销型网站建设式球磨机英文公司网站建设
  • 门户网站怎么开发旅游网站系统功能
  • 淄博seo网站排名优化市场营销在线课程