在 JavaScript 中的所有冲突后查找状态
问题
我们需要编写一个JavaScript函数,该函数接受一个数组arr,该数组表示一维空间中不同小行星的位置。
对于每颗小行星,绝对值代表它的大小,符号代表它的方向(正表示右,负表示左)。每颗小行星以相同的速度移动。
我们的功能应该是找出所有碰撞后小行星的状态。如果两颗小行星相遇,较小的一颗就会爆炸。如果两者大小相同,则两者都会爆炸。两颗同向运动的小行星永远不会相遇。
例如,如果函数的输入是
输入
const arr = [7, 12, -8];
输出
const output = [7, 12];
输出说明
12和-8将碰撞产生12。
7和12永远不会碰撞。
示例
以下是代码-
const arr = [7, 12, -8];
const findState = (arr = []) => {
const track = []
for (const el of arr) {
track.push(el)
while (track[track.length - 1] < 0 && track[track.length - 2] > 0) {
const a = -track.pop()
const b = track.pop()
if (a > b) {
track.push(-a)
} else if (a < b) {
track.push(b)
}
}
}
return track
};
console.log(findState(arr));输出结果[7, 12]
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短