3028. 边界上的蚂蚁

简介: 3028. 边界上的蚂蚁

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

边界上有一只蚂蚁,它有时向 走,有时向 走。

给你一个 非零 整数数组 nums 。蚂蚁会按顺序读取 nums 中的元素,从第一个元素开始直到结束。每一步,蚂蚁会根据当前元素的值移动:

  • 如果 nums[i] < 0 ,向 移动 -nums[i]单位。
  • 如果 nums[i] > 0 ,向 移动 nums[i]单位。

返回蚂蚁 返回 到边界上的次数。

注意:

  • 边界两侧有无限的空间。
  • 只有在蚂蚁移动了 |nums[i]| 单位后才检查它是否位于边界上。换句话说,如果蚂蚁只是在移动过程中穿过了边界,则不会计算在内。

示例 1:

输入: nums = [2,3,-5]
输出: 1
解释: 第 1 步后,蚂蚁距边界右侧 2 单位远。
第 2 步后,蚂蚁距边界右侧 5 单位远。
第 3 步后,蚂蚁位于边界上。
所以答案是 1 。

示例 2:

输入: nums = [3,2,-3,-4]
输出: 0
解释: 第 1 步后,蚂蚁距边界右侧 3 单位远。
第 2 步后,蚂蚁距边界右侧 5 单位远。
第 3 步后,蚂蚁距边界右侧 2 单位远。
第 4 步后,蚂蚁距边界左侧 2 单位远。
蚂蚁从未返回到边界上,所以答案是 0 。

提示:

  • 1 <= nums.length <= 100
  • -10 <= nums[i] <= 10
  • nums[i] != 0

解题思路

这是一道比较简单的题目,我们直接模拟行为进行判断即可,蚂蚁初始化位置为0,向左移动x时距离要-x,向右移动x时距离要+x,我们只需要判断移动后的距离是否为0即可,使用一个变量记录移动到边界(即距离 = 0)的次数,最后返回即可。

AC代码

/**
 * @param {number[]} nums
 * @return {number}
 */
var returnToBoundaryCount = function(nums) {
    let sum = 0,cnt = 0;
    for(const num of nums){
        sum += Number(num);
        if(sum === 0) cnt++;
    }
    return cnt;
};

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

目录
相关文章
|
5月前
|
分布式计算 安全 算法
多方协同计算:2B技术新方向
随着2B应用的深入发展,出现了新型的分布式商业的业务形态,传统的中心化的CS技术已经不能满足需要。
多方协同计算:2B技术新方向
|
监控 安全 网络安全
重新思考无边界世界中的网络安全
重新思考无边界世界中的网络安全
|
Cloud Native 测试技术 数据库
【TICA解读】架构设计的本质:如何确定服务的边界
【TICA解读】架构设计的本质:如何确定服务的边界
216 0
【TICA解读】架构设计的本质:如何确定服务的边界
打破边界,谁来定义未来云上攻防?
打破边界,谁来定义未来云上攻防?
127 0
|
弹性计算 运维 资源调度
服务网格定义企业上云新路径! | Forrester X 蚂蚁集团 发布服务网格白皮书
在常态化混合异构环境下,面对云原生应用路径的多样化趋势与全维度挑战,企业必须将服务网格技术与微服务有效结合,才能真正释放云原生技术的红利。
服务网格定义企业上云新路径! | Forrester X 蚂蚁集团 发布服务网格白皮书
|
边缘计算 安全 物联网
欧拉和鸿蒙打通后,华为如何界定二者边界?
9 月 25 日,在 Huawei Connect 2021 华为全联接大会(点击查看2021华为全联接大会专题报道)第三日主题演讲中,华为计算产品线总裁邓泰华宣布华为开源操作系统欧拉(openEuler)全新发布。全新升级的欧拉提出全栈原子化解耦,支持版本灵活构建、服务自由组合,通过一套架构灵活支持南向多样性设备、北向全场景应用,可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备。
192 0
欧拉和鸿蒙打通后,华为如何界定二者边界?
|
负载均衡 Kubernetes Cloud Native
赛题解析 | 初赛赛道三:服务网格控制面分治体系构建
首届云原生编程挑战赛正在报名中,初赛共有三个赛道,本文主要针对赛道三题目做出剖析,帮助选手更高效的解题。
915 4
赛题解析 | 初赛赛道三:服务网格控制面分治体系构建
|
区块链 开发者
【上链案例】蚂蚁开放联盟链之用户×区块链价值
开放联盟链“低门槛”上链案例库,将于4月起陆续完善。 不知道怎么上链?可以看本文的案例库,了解不同行业不同发展阶段的上链方案,助力你上链决策!
1703 0
【上链案例】蚂蚁开放联盟链之用户×区块链价值
|
供应链 安全 Serverless
蚂蚁开放联盟链是个啥?与蚂蚁其他区块链产品的差异
蚂蚁开放联盟链类似于公链,多家生态共享一条链,里面有节点和一般成员,基于区块链的共识节点技术来实现提效,通过加密、合约控制、c3s(暂未上线)来保持强私密性,费用相对低,且通过CloudIDE/SDK等工具实现开发工具的极大优化,一般是100元-999元,企业版一年是4888。
4412 0
|
云安全 安全 数据中心
H3C:下一代互联网的安全起点
与人们的生产生活息息柜关的互联网,并非一个完美计划的结果。安全隐患于互联网,是与生俱来的。在互联网飞速发展的30年间,被动挨打之后再弥补安全漏洞,已经成为解决互联网安全问题的惯性思维。但是,在互联网进入云时代后,这样的安全理念还能保障云的安全吗?我们还有机会改变这种局面吗? 从网络开始 云安全这个概念曾经被众多厂商所用,也出现了五花八门的定义。
1225 0