type
status
date
slug
summary
tags
category
icon
password
创建时间
May 29, 2025 02:29 AM
给定一个整数数组
asteroids
,表示在同一行的小行星。数组中小行星的索引表示它们在空间中的相对位置。对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。
找出碰撞后剩下的所有小行星。碰撞规则:两个小行星相互碰撞,较小的小行星会爆炸。如果两颗小行星大小相同,则两颗小行星都会爆炸。两颗移动方向相同的小行星,永远不会发生碰撞。
三、栈§3.3 邻项消除
判断条件有点过于负责了,
- 当前元素大于 0,放入栈中,看后续是否会发生碰撞
- 当前元素小于 0:
- 如果栈顶元素大于 0,比较当前元素的绝对值与栈顶元素的大小
- 大于栈顶元素,一直消除栈顶元素,直到不满足条件
- 上面的操作,导致栈为空,直接放入,跳出当前循环
- 判断是否相等,相等消除栈顶元素,跳出当前循环
- 小于栈顶元素,跳出当前循环
- 如果栈顶元素小于 0,不会发生碰撞,放入栈中
简洁写法
📎 参考
- 无