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

宁波网站推广厂家电话微信营销模式

宁波网站推广厂家电话,微信营销模式,建设通怎么查有无在建,美团是最早做团购的网站么给定一个整数数组 asteroids,表示在同一行的小行星。 对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。 找…

给定一个整数数组 asteroids,表示在同一行的小行星。

对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。

找出碰撞后剩下的所有小行星。碰撞规则:两个小行星相互碰撞,较小的小行星会爆炸。如果两颗小行星大小相同,则两颗小行星都会爆炸。两颗移动方向相同的小行星,永远不会发生碰撞。

示例 1:
输入:asteroids = [5,10,-5]
输出:[5,10]
解释:10 和 -5 碰撞后只剩下 10 。 5 和 10 永远不会发生碰撞。

示例 2:
输入:asteroids = [8,-8]
输出:[]
解释:8 和 -8 碰撞后,两者都发生爆炸。

示例 3:
输入:asteroids = [10,2,-5]
输出:[10]
解释:2 和 -5 发生碰撞后剩下 -5 。10 和 -5 发生碰撞后剩下 10 。

在这里插入图片描述

模拟栈

class Solution {
public:vector<int> asteroidCollision(vector<int>& asteroids) {vector<int> st;for(int a : asteroids){bool alive = true;while(alive && a < 0 && !st.empty() && st.back() > 0){alive = -a > st.back();if(st.back() <= -a){st.pop_back();}}if(alive){st.push_back(a);}}return st;}
};

时间复杂度:O(n),其中 n 为数组 asteroids 的大小。出入栈次数均不超过 n 次。
空间复杂度:O(1)。返回值不计入空间复杂度。

这道题的思路就是,我们遍历数组asteroids,将里面的所有元素一一与栈顶元素比对,如果遍历的元素a是负数,那么就会不断和栈中的元素进行比对,只要栈顶元素是正数且绝对值小于a,则会爆炸,也就是弹出栈,直到a遇到比自己大的反方向的行星自己爆炸或者栈顶的行星方向与自己相同,则停止while循环(因为当遇到和自己同方向的行星,说明栈中现有的行星没有反方向的),这时候如果行星没有发生爆炸,还存在,那么就将它推入栈中。

http://www.ds6.com.cn/news/39347.html

相关文章:

  • 同城做鸭网站hao123影视
  • 做图网站有哪些内容媒体发稿公司
  • 怎么做英文版网站西安网站建设制作
  • 丹东市住房和城乡建设委员会网站百度搜索资源管理平台
  • 门户类网站备案百度官方客户端
  • 旅游网站开发设计报告书百度经验悬赏令
  • 自己做副业可以抢哪个网站交换链接的例子
  • 电子商务网站建设完整详细流程武汉seo首页优化报价
  • h5网站价格网站推广seo设置
  • 做个网站要多少钱网络推广营销方案免费
  • 网站建设书seo优化与sem推广有什么关系
  • 网站怎么申请策划方案
  • 阿里云做网站开发吗郑州疫情最新情况
  • 自己做优惠劵网站赚钱吗如何建立网站 个人
  • 网页设计于制作课程标准seo如何优化的
  • 罗湖网站建设公司加盟培训机构
  • 粉色系 wordpressaso优化师工作很赚钱吗
  • 自己的主机做服务器网站如何备案网络推广引流有哪些渠道
  • 皮卡剧网站怎样做餐饮培训
  • 鑫三科技网站设计优化网站排名方法教程
  • 做公司网站协议书模板下载文明seo
  • 品牌网站建设有那两种模式seo网络推广哪家专业
  • 做美瞳网站需要什么资质360搜索推广
  • 网站弹窗是怎么做的如何建立网站的步骤
  • 公司网络推广公司seo是什么意思怎么解决
  • 北海做网站有哪家好电商培训内容
  • 优设网站官网seo搜索引擎优化人才
  • 域名备案要先做网站的吗网页开发工具
  • 建地方的网站前景东莞网站设计排行榜
  • 企业网站建设情况汇报谷歌seo一个月费用需要2万吗