leetcode 735. Asteroid Collision(小行星碰撞)

Java实现 LeetCode 735 行星碰撞(栈) 735. 行星碰撞 给定一个整数数组 asteroids,表示在同一行的行星。 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。 找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移动方向相同的行星,永远不会发生碰撞。 示例 1: 输入: ast... 阅读详情

在这里插入图片描述

数组asteroids里面的数字是小行星的size, 正负号表示小行星运动的方向,+表示向右,-表示向左。
+向和-向的小行星会发生碰撞,撞了以后留下大的,小的会消失,size一样大时两个都会消失。
求剩下的小行星。

思路:

你会好奇为什么example中都是正数在前负数在后,
为什么不能是[-5, 5, 10]这样的负数在前。

因为只有正数在左边负数在右边才会发生碰撞。
[-5, 5, 10]这种,左边的向左运动,右边的向右运动,那么它们不会相遇。

所以只需要解决正数在左,负数在右的这种情况。

用一个stack保存至今为止出现的正数,当遇到负数时,判断谁的size大,
如果负数的size大,当前正数消失,取下一正数,直到size比负数的size大。
如果正数size大,当前负数消失,取数组下一数字。
正数直接进栈。
如果当前栈顶为负数,下面一个数字直接进栈(正的不会相遇,负的同向不会碰撞)。

最后返回stack中的元素。

    public int[] asteroidCollision(int[] asteroids) {
        Stack<Integer> st = new Stack<>();

        for(int as : asteroids) {
            if(st.empty() || as > 0) st.push(as);
            else{
                while(!st.empty() && st.peek() > 0 && (Math.abs(as) > st.peek())) {
                    st.pop();
                }
                if(!st.empty() && (-as == st.peek())) st.pop();
                else if(st.empty() || st.peek() < 0) st.push(as);
            }
        }
        int[] res = new int[st.size()];
        for(int i = st.size()-1; i >= 0; i--) res[i] = st.pop();
        return res;
    }
三种1:4传输线变压器巴伦的分析 满足多模多馈天线系统匹配要求的传输线变压器巴仑有:双线传输线变压器( 见图1) 、三线传输线变压器( 见图4) 和四线传输线变压器( 见图5) 。尽管3 者的结构不同, 但都可实现1∶4 阻抗变换和不平衡-平衡转换。下面就应用电报方程对它们的阻抗变换特性和输出平衡特性进行分析。 阅读详情

相关推荐

磁传感器技术解析:从霍尔效应到车规级应用,纳芯微的本土第一之路

磁传感器是现代工业与汽车电子中的关键感知元件,其技术演进经历了从分立器件到高集成度SoC的跨越。霍尔效应与磁阻效应构成两大物理基础,其中硅基霍尔方案凭借高性价比与成熟供应链,在车规级应用中占据主流。高精度电流检测、角度与位置感知、磁开关等场景,对传感器的温漂抑制、共模瞬态抗扰与批量一致性提出严苛要求。车规级可靠性体系与系统级集成能力,成为衡量供应商的核心标尺。随着新能源主驱、光伏逆变、工业伺服等应用爆发,具备完整信号链与隔离技术积累的厂商正逐步构建护城河。本文以纳芯微为样本,剖析其从隔离技术延伸至磁传感器平

weixin_34387468的博客 365

leetcode | go | 第735题 | 小行星碰撞

【代码】leetcode | go | 第735题 | 小行星碰撞。

iCling的博客 557

DAP-Link DIY复刻指南

DAP-Link是ARM开源的一个项目,主要用于代码下载以及调试,支持SWD和JTAG调试接口,对于开发嵌入式的同学相信都或多或少有所耳闻。除了DAP-Link之外还有很多同类型的调试器,如ST-LinkJ-Link,但是这些都是不开源的,无法复刻或进行二次开发。但DAP-Link不同,完全开源,不用担心侵权问题,且随着开源社区大家的共同努力,DAP-Link经过了不断的迭代,先如今已取代ARM之前推出的CMSIS-DAP开源项目。

爱出名的狗腿子 1万+

高效解决小行星碰撞:栈与连续碰撞的巧妙实现【栈、巧妙循环】

在这篇博客中,我们将详细探讨一个常见的算法问题——小行星碰撞问题。该问题要求我们根据小行星的移动方向和大小,计算出所有碰撞后剩下的小行星。我们将详细分析问题,逐步构建解决方案,并在过程中强调关键思路,特别是一个巧妙的while循环。通过上述过程,我们详细分析并解决了小行星碰撞问题。关键在于使用vector模拟栈的操作,并通过巧妙的while循环连续处理碰撞情况。希望这篇博客能帮助你更好地理解这一算法问题及其解决方案。

qq_22841387的博客 932

普罗米修斯监控达梦数据库集群

-----------------------------------新增文件---------------------------------------注:图上即为启动成功,如果没有问题,则使用nohup后台启动程序。官网地址:https://github.com/gy297879328/dameng_exporter。注:prometheus的对数据库的指标采集如果高于60s一次,请手动修改提供表盘中的计算值。修改dameng_exporter.config配置文件,修改账号密码的部分。

weixin_49985403的博客 1679

数控弯管机xyz转换ybc的算法_数控弯管机技术的更新和应用.pdf

您所在位置:网站首页 > 海量文档&nbsp>&nbsp汽车/机械/制造&nbsp>&nbsp机械/模具设计数控弯管机技术的更新和应用.pdf3页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所...

weixin_31493101的博客 1520

735. 行星碰撞 / 剑指 Offer II 115. 重建序列

735. 行星碰撞 / 剑指 Offer II 115. 重建序列

在彼淇梁的博客 276

Seedance 2.5、HappyHorse 1.1与豆包Seed 2.1:一周内三大模型技术参数分析

音频生成延续原生音画同步架构,将文本、画面、音频统一序列建模,生成过程同步产出匹配口型的原声音频,支持中、英、日、韩、德、法、阿拉伯7种语言唇形对齐,无需二次调音。从行业趋势看,30秒直出、4K分辨率、7语种唇形同步正在成为视频生成的标配,编程Agent化和多模态理解正在成为语言模型的标配。技术狂奔的同时,监管在同步收紧。我理解这里的关键在于,视频生成模型的商业化落地不仅取决于生成质量,更取决于推理效率——生成一段15秒1080P视频需要多少秒、消耗多少算力,直接决定了模型的商用可行性。

lichunchuan1的博客 323

[栈]leetcode735:行星碰撞(medium)

题目: 题解: 思路:用栈解决,本题是个很有意思的题。 先想想什么情况下会发生碰撞? 1)栈顶元素负值(向左飞行),那么无论当前遍历到的元素为正值(向右飞行)、负值(向左飞行,相同方向速度一样,不会发生碰撞),二者都不会发生碰撞。 2)栈顶元素正值(向右飞行),若无论当前遍历到的元素为正值(向右飞行),二者不会发生碰撞;栈顶元素正值(向右飞行),若无论当前遍历到的元素为负值(向左飞行),二者相向飞行,必定发生碰撞。 算法步骤: 1)当栈顶元素为负值(向左飞行)时,无论当前元素为正值(向右飞行

algsup 1107

CCS配置MSPM0G3507(七) 编码器(TIMER-QEI)

1.选择时钟源 BUSCLK2.时钟分频配置为1分频3.分频系数配置为14.若勾选 Start ,则生成程序后会自动开启定时器的计数,否则需手动在程序中开启5.Load Value 设置为65535。

kaneki_lh的博客 1万+

轴承寿命预测 | 基于BiLSTM双向长短期记忆神经网络的轴承寿命预测附matlab完整代码

轴承寿命预测 | 基于BiLSTM双向长短期记忆神经网络的轴承寿命预测附matlab完整代码

默默科研仔的博客 273

双指针、多指针

一,双指针 有很多完全不同的题目,根据他们的解法,都可以归结为双指针的题目。 大概模型: 用指针1扫描数组1,指针2扫描数组2,两个指针一起扫描,每次只有1个指针往后挪,每次挪哪个取决于数组的值和要求的目标, 当2个数组都扫描完(有的问题是只需要一个数组扫描完)时,要求的目标就求出来了。 代码特性: 双指针的代码往往是两层循环,虽然实际只是线性扫描,但是如果写错了就可能变成暴力,甚至死循环。 二,非遗忘算法 参考《算法导论》中遗忘比较交换算法https://blog.csdn...

nameofcsdn的博客 2317

51单片机 驱动有源/无源蜂鸣器+Proteus仿真

51单片机 驱动有源/无源蜂鸣器+Proteus仿真 相关篇《51单片机 Proteus仿真有源蜂鸣器始终不响原因及解决方法》 电路搭建 采用NPN管驱动有源蜂鸣器电路 采用PNP管驱动有源蜂鸣器电路 采用PNP管驱动无源蜂鸣器 采用NPN管驱动无源蜂鸣器 Proteus元器件列表 实例代码 /************************************************************************************* * 实验现象:下载程序

perseverance51博客 2万+

leetcode 735. Asteroid Collision 小行星碰撞

邹九的个人博客 230

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Leetcode算法学习日志-735 Asteroid Collision

Leetcode 735 Asteroid Collision 题目原文 We are given an array asteroids of integers representing asteroids in a row. For each asteroid, the absolute value represents its size, and the sign represent

Zarlove的博客 884

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Leetcode 735.行星碰撞(Asteroid Collision)

Leetcode 735.行星碰撞 1 题目描述(Leetcode题目链接)   给定一个整数数组 asteroids,表示在同一行的行星。对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移动方向...

qq_39378221的博客 503

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LeetCode //C - 735. Asteroid Collision

【代码】LeetCode //C - 735. Asteroid Collision。

Made in Code 1027

735. Asteroid Collision

735. Asteroid Collision

weixin_45428910的博客 400

LeetCode 735. Asteroid Collision - 亚马逊高频题21

根据题意,只有向右方向的小行星在左边和向左方向的小行星在右边才会相撞,如果相撞的两个小行星大小相等将一起爆掉。这个看起来很像大小括号匹配的那一题,向右移动的就像是左括号,向左移动的就像是右括号,因此本题也可以用堆栈来解。

hgq522的博客 620

[leetcode] 735. Asteroid Collision

Description We are given an array asteroids of integers representing asteroids in a row. For each asteroid, the absolute value represents its size, and the sign represents its direction (positive mean...

Learning from the mistakes 377

【Leetcode】735. Asteroid Collision

题目地址: https://leetcode.com/problems/asteroid-collision/ 给定一个不含000的长nnn数组AAA,表示一个数轴上的小行星的速度,正数代表向右,负数代表向左,绝对值代表小行星的质量。同向的小行星不会相撞,但反向的小行星会相撞,相撞的结果是,质量大的继续存在,小的爆炸;如果质量一样则都爆炸。问最后剩下的小行星的速度状态是什么,返回一个数组。 其实就是模拟相撞的过程。开个栈,遍历AAA,如果遇到了向右的小行星则直接入栈;否则,如果栈空或者栈顶也是向左的小行星,

数学、算法爱好者的博客 632

LeetCode 735 Asteroid Collision

LeetCode 735 Asteroid Collision Problem Description: 题目大体意思就是给出一串整数(包括正数和负数,不包括零)来描述星体运动过程中产生的碰撞情况。其中,整数的绝对值代表星体的大小,正负号表示星体的运动方向,负号表示向左运动,正号表示向右运动。当两个星体碰撞时,大星体把小星体kill掉,剩下自己独孤求败。 具体的题目信息: https:...

萤火虫啊飞呀飞 560

Leetcode 735. Asteroid Collision

文章作者:Tyan 博客:noahsnail.com  |  优快云  |  简书 1. Description 2. Solution **解析:**Version 1、Version 2,思路是一样的,写法不同。用栈实现,首先,判断当前小行星的直径,如果其大于0,或栈为空,或栈顶元素为负,则直接压入栈中,否则,则当前小行星的直径为负值,且栈顶元素为正值,然后对栈顶元素和当前小行星直径的绝对值比较,如果二者相等,则将当前小行星直径设为0,并将栈顶元素出栈,如果前

SnailTyan 218

[Leetcode] 735. Asteroid Collision 解题报告

题目: We are given an array asteroids of integers representing asteroids in a row. For each asteroid, the absolute value represents its size, and the sign represents its direction (positive mean

魔豆(Magicbean)的博客 618

[Swift]LeetCode735. 行星碰撞 | Asteroid Collision

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/stren...

weixin_30861797的博客 130

​力扣解法汇总735-行星碰撞

​力扣解法汇总735-行星碰撞

分享+记录 559
上一篇: leetcode 445. Add Two Numbers II(两数相加)
下一篇: android adb root报错解决: root access is disabled by system setting
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值