【数据结构-邻项消除】力扣735. 小行星碰撞
给定一个整数数组 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循环(因为当遇到和自己同方向的行星,说明栈中现有的行星没有反方向的),这时候如果行星没有发生爆炸,还存在,那么就将它推入栈中。
相关文章:
【数据结构-邻项消除】力扣735. 小行星碰撞
给定一个整数数组 asteroids,表示在同一行的小行星。 对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。 找…...
002-Kotlin界面开发之Kotlin旋风之旅
Kotlin旋风之旅 Compose Desktop中哪些Kotlin知识是必须的? 在学习Compose Desktop中,以下Kotlin知识是必须的: 基础语法:包括变量声明、数据类型、条件语句、循环等。面向对象编程:类与对象、继承、接口、抽象类等。…...
VMware Workstation Pro for Personal Use (For Windows)
这是从broadcom.com网下载的个人版本的Vmware 17.6.1,存分享不要分。 VMware-workstation-full-17.6.1-24319023.exe(447.93 MB) Build Number: 24319023 Oct 08, 2024 07.33AM SHA2: f95429e395a583eb5ba91f09b040e2f8c53a5e7aa37c4c6bfcaf82115a8…...
论文 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES
1. 背景信息 在信息检索领域,传统的方法往往依赖于大量的标注数据来训练模型,以便在各种任务中表现良好。然而,许多实际应用中的监督数据是有限的,尤其是在不同的检索任务中。最近的研究开始关注如何从一个拥有丰富监督数据的任务…...
使用 Github 进行项目管理
GitHub 是一个广泛使用的代码托管和协作平台,它提供了强大的工具来支持项目管理和团队协作。在项目开发和工作中,避免不了 Github 的使用,然鹅我一直没有稍微系统地学习过 github 的整个工作流程,对这些操作都是一知半解的&#x…...
企业SRC挖掘选择与信息收集指南
内容预览 ≧∀≦ゞ 企业SRC挖掘选择与信息收集指南导语1. 企业SRC的选择2. 信息收集2.1 集团与子公司2.2 小程序与APP2.3 Web端信息收集 3. 信息收集常用模板总结 企业SRC挖掘选择与信息收集指南 导语 近年来,企业的安全响应中心(SRC)已逐渐…...
Golang | Leetcode Golang题解之第524题通过删除字母匹配到字典里最长单词
题目: 题解: func findLongestWord(s string, dictionary []string) (ans string) {m : len(s)f : make([][26]int, m1)for i : range f[m] {f[m][i] m}for i : m - 1; i > 0; i-- {f[i] f[i1]f[i][s[i]-a] i}outer:for _, t : range dictionary …...
【DBeaver】连接带kerberos的hive[Apache|HDP]
目录 一、安装配置Kerberos客户端环境 1.1 安装Kerberos客户端 1.2 环境配置 二、基于Cloudera驱动创建连接 三、基于Hive原生驱动创建连接 一、安装配置Kerberos客户端环境 1.1 安装Kerberos客户端 在Kerberos官网下载,地址如下:https://web.mit.edu/kerberos…...
Unity3D 开发教程:从入门到精通
Unity3D 开发教程:从入门到精通 Unity3D 是一款强大的跨平台游戏引擎,广泛应用于游戏开发、虚拟现实、增强现实等领域。本文将详细介绍 Unity3D 的基本概念、开发流程以及一些高级技巧,帮助你从零基础到掌握 Unity3D 开发。 目录 Unity3D…...
文件操作和 IO(一):文件基础知识 文件系统操作 => File类
目录 1. 什么是文件 1.1 概念 1.2 硬盘, 内存, 寄存器之间的区别 1.3 机械硬盘和固态硬盘 2. 文件路径 2.1 绝对路径 2.2 相对路径 3. 文件分类 4. File 类 4.1 属性 4.2 构造方法 4.3 方法 1. 什么是文件 1.1 概念 狭义上的文件: 保存在硬盘上的文件广义的上的文…...
用Pyhon写一款简单的益智类小游戏——2048
文字版——代码及讲解 代码—— import random# 初始化游戏棋盘 def init_board():return [[0] * 4 for _ in range(4)]# 在棋盘上随机生成一个2或4 def add_new_tile(board):empty_cells [(i, j) for i in range(4) for j in range(4) if board[i][j] 0]if empty_cells:i,…...
akshare股票涨跌幅自定义范围查询:A股、港股、美股
参看:https://stock.hexun.com/2024-10-31/215251914.html 涨幅计算公式:(当前价格 - 上一个交易日收盘价) 上一个交易日收盘价 100% 。 跌幅计算公式:(上一个交易日收盘价 - 当前价格) 上一个…...
通过js控制修改css变量
在JavaScript中,你可以通过操作CSS变量(也称为自定义属性)来动态改变样式。CSS变量在CSS中使用 – 前缀定义,例如 --main-color: red;。在JavaScript中,你可以使用 document.documentElement.style.setProperty 方法来…...
<HarmonyOS第一课>HarmonyOS SDK开放能力简介的课后习题
不出户,知天下; 不窥牖,见天道。 其出弥远,其知弥少。 是以圣人不行而知,不见而明,不为而成。 本篇<HarmonyOS第一课>HarmonyOS SDK开放能力简介是简单介绍了HarmonyOS SDK,不需要大家过多…...
深度学习:yolo的使用--图像处理
定义了一个名为 ListDataset 的类,它继承自 PyTorch 的 Dataset 类,这个数据集从一个包含图像文件路径的列表中读取图像和对应的标签文件 class ListDataset(Dataset):def __init__(self, list_path, img_size416, augmentTrue, multiscaleTrue, normalized_labelsT…...
TypeScript实用笔记(一):初始化、类型定义与函数使用
文章目录 一、ts初始化1. 初始化.json文件一2. 启动方式2.1 直接运行.ts文件2.2 转换运行 二、类型1. 参数类型1.1 常规参数1.2 symbol1.3 数组\[]1.4 元组\[]1.5 用字面量定义数据类型 2. Object3. 枚举类型\[Enum]3.1 数字枚举3.2 字符串枚举 三、 类型别名1. 数组别名使用2.…...
【大数据学习 | kafka】producer之拦截器,序列化器与分区器
1. 自定义拦截器 interceptor是拦截器,可以拦截到发送到kafka中的数据进行二次处理,它是producer组成部分的第一个组件。 public static class MyInterceptor implements ProducerInterceptor<String,String>{Overridepublic ProducerRecord<…...
零基础学西班牙语,柯桥专业小语种培训泓畅学校
No te comas el coco, seguro que te ha salido bien la entrevista. Ya te llamarn. 别瞎想了!我保证你的面试很顺利。他们会给你打电话的。 这里的椰子是"头"的比喻。在西班牙的口语中,我们也可以听到其他同义表达,比如&#x…...
C++学习:类和对象(三)
一、深入讲解构造函数 1. 什么是构造函数? 构造函数(Constructor)是在创建对象时自动调用的特殊成员函数,用于初始化对象的成员变量。构造函数的名称与类名相同,没有返回类型 2. 构造函数的类型 (1&…...
高阶数据结构--图(graph)
图(graph) 1.并查集1. 并查集原理2. 并查集实现3. 并查集应用 2.图的基本概念3. 图的存储结构3.1 邻接矩阵3.2 邻接矩阵的代码实现3.3 邻接表3.4 邻接表的代码实现 4. 图的遍历4.1 图的广度优先遍历4.2 广度优先遍历的代码 1.并查集 1. 并查集原理 在一…...
告别字幕与水印:LTX 2.3工作流,一键高效清除,附详细使用方法。
一、LTX2.3功能介绍 核心功能:一键去除视频字幕和水印 工作流程: 上传视频 设置参数 设置提示词(提示词固定不变) 点击运行,即可输出没有水印和字幕的视频 ⬇️⬇️⬇️ 1.核心模型 水印去除模型字幕去除模型 2.模型…...
2026年AI应用最容易被低估的一层
2026年AI应用最容易被低估的一层不是模型 而是向量引擎 很多人最近都有一个感觉。 AI 好像突然从会聊天,变成了会干活。 以前我们问 AI 一个问题,它回答一段文字。 现在我们希望 AI 搜资料,读文件,整理表格,调用工具&a…...
OpenHarmony芯片解决方案:从硬件抽象到编译配置实战指南
1. 项目概述:从零理解OpenHarmony芯片解决方案如果你正在或准备踏入OpenHarmony的硬件开发领域,那么“芯片解决方案”这个概念,就是你绕不开的第一道门槛。它不像写一个纯应用层的“Hello World”程序那么简单,而是连接你手中那块…...
UV-UI框架终极指南:如何快速构建跨平台应用
UV-UI框架终极指南:如何快速构建跨平台应用 【免费下载链接】uv-ui uv-ui 破釜沉舟之兼容vue32、app、h5、小程序等多端基于uni-app和uView2.x的生态框架,支持单独导入,开箱即用,利剑出击。 项目地址: https://gitcode.com/gh_m…...
Box64终极指南:如何在ARM设备上轻松运行x86程序?三个简单步骤解锁无限可能
Box64终极指南:如何在ARM设备上轻松运行x86程序?三个简单步骤解锁无限可能 【免费下载链接】box64 Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices 项目地址: https://gitcode.com/gh_m…...
别再死记硬背公式了!用Excel+Python搞定数学建模三大评价模型(附代码)
用ExcelPython玩转数学建模三大评价模型:告别公式恐惧症 数学建模竞赛中,评价模型是绕不开的核心工具。但面对满屏的数学符号和抽象公式,很多同学的第一反应是头皮发麻——"这些矩阵运算到底怎么落地?""一致性检验…...
SkyWalking UI 保姆级使用指南:从仪表盘到告警,手把手教你排查线上问题
SkyWalking UI 实战指南:从异常告警到代码级优化的全链路排查 当凌晨三点的告警短信突然亮起屏幕,作为值班工程师的你该如何快速定位线上服务的性能瓶颈?SkyWalking UI 提供的不仅是数据看板,更是一套完整的分布式系统诊断工具箱。…...
别急着换件!汇川伺服报Er.136/Er.740编码器故障,先按这3步自查(附线缆选购建议)
汇川伺服编码器故障排查指南:从干扰溯源到线缆优化 工业现场最让人头疼的莫过于设备间歇性抽风——明明昨天还运行良好,今天却频繁报Er.136或Er.740编码器故障。作为经历过数十次类似案例的技术老兵,我必须强调:80%的编码器问题根…...
独家披露:Perplexity未公开的政治新闻过滤白名单(含6国政府通报接口绕过逻辑与合规使用边界)
更多请点击: https://kaifayun.com 第一章:Perplexity政治新闻查询的底层机制与合规边界 Perplexity 在处理政治新闻类查询时,并非直接抓取或缓存原始新闻页面,而是依托其混合检索架构——融合实时网络搜索(通过 Bing…...
2026年京东云OpenClaw/Hermes Agent配置Token Plan详细方法汇总
2026年京东云OpenClaw/Hermes Agent配置Token Plan详细方法汇总。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...
