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

leetcode 2126. 摧毁小行星 中等

给你一个整数mass,它表示一颗行星的初始质量。再给你一个整数数组asteroids,其中asteroids[i]是第i颗小行星的质量。

你可以按任意顺序重新安排小行星的顺序,然后让行星跟它们发生碰撞。如果行星碰撞时的质量大于等于小行星的质量,那么小行星被摧毁,并且行星会获得这颗小行星的质量。否则,行星将被摧毁。

如果所有小行星能被摧毁,请返回true,否则返回false

示例 1:

输入:mass = 10, asteroids = [3,9,19,5,21]输出:true解释:一种安排小行星的方式为 [9,19,5,3,21] : - 行星与质量为 9 的小行星碰撞。新的行星质量为:10 + 9 = 19 - 行星与质量为 19 的小行星碰撞。新的行星质量为:19 + 19 = 38 - 行星与质量为 5 的小行星碰撞。新的行星质量为:38 + 5 = 43 - 行星与质量为 3 的小行星碰撞。新的行星质量为:43 + 3 = 46 - 行星与质量为 21 的小行星碰撞。新的行星质量为:46 + 21 = 67 所有小行星都被摧毁。

示例 2:

输入:mass = 5, asteroids = [4,9,23,4]输出:false解释:行星无论如何没法获得足够质量去摧毁质量为 23 的小行星。 行星把别的小行星摧毁后,质量为 5 + 4 + 9 + 4 = 22 。 它比 23 小,所以无法摧毁最后一颗小行星。

提示:

  • 1 <= mass <= 10^5
  • 1 <= asteroids.length <= 10^5
  • 1 <= asteroids[i] <= 10^5

分析:先将小行星按照质量从小到大排序,记录最大的小行星质量。接着依次碰撞并更新行星质量,如果某个小行星的质量大于了当前的行星质量,说明这颗小行星无法被摧毁,返回 false;如果行星质量大于小行星的最大质量,说明所有小行星都可以被摧毁,返回 true。

class Solution { public: bool asteroidsDestroyed(int mass, vector<int>& asteroids) { int n=asteroids.size(),maxn=-1; sort(asteroids.begin(),asteroids.end());maxn=asteroids[n-1]; for(int i=0;i<n;++i) { if(mass>=asteroids[i])mass+=asteroids[i]; else return false; if(mass>=maxn)return true; } return true; } };
http://www.jsqmd.com/news/929043/

相关文章:

  • stsb-xlm-r-multilingual应用场景:智能客服、文档检索、内容推荐
  • Sora 2 vs Runway Gen-3 vs Pika 1.5:横向评测8K分辨率下运动连贯性、纹理保真度与时序一致性(附原始测试帧下载链接)
  • 从入门到精通:微软Lens模型完整安装与配置教程
  • 坡头区26年最新奢侈品名包名表专业回收权威店铺推荐 - 莘州文化
  • 2026淋雨试验箱品牌推荐:靠谱品牌筑牢防水测试合规防线 - 资讯速览
  • SY_AICC/gpt2-conversational-retrain模型参数调优指南:温度、top_p、top_k等超参数详解
  • 3分钟掌握Godot PCK文件解包:免费工具一键提取游戏资源
  • AI赋能小企业HR:从招聘到绩效的智能实践指南
  • AI Agent 12 项底层核心原理 + 应用方法
  • 【GitHub】Understand-Anything 深度技术分析:让代码库“开口说话“的交互式知识图谱
  • 终极微信聊天记录导出备份指南:永久保存你的珍贵回忆
  • 一个草根创业者的“最小可行性实践
  • Arduino智能感应骨架:超声波传感器与步进电机联动实现自动惊吓装置
  • 保姆级教程:在Ubuntu 20.04上搞定《视觉SLAM十四讲》第二版所有依赖库(Eigen、Pangolin、Ceres、g2o)
  • 三水区26年最新奢侈品名包名表专业回收权威店铺推荐 - 莘州文化
  • 基于ESP32与VS1053打造网络收音机:硬件连接、WiFi管理与深度睡眠实践
  • 基于Arduino的智能语音触发器:为老人定制Google Home物理呼叫方案
  • 从Kaggle竞赛到业务落地:用修正z-score提升你的数据清洗与特征工程效果
  • 智能数据提取与永久保存:WeChatMsg开源工具为个人数据管理提供自动化处理解决方案
  • 别再让高刷屏拖累你的游戏!Unity Android帧率适配全攻略:从Surface API到Display Mode
  • 魔兽争霸3终极优化指南:如何用WarcraftHelper解决现代系统兼容性问题
  • Qwen3.5-40B-Claude-4.6-Opus-Deckard-Heretic-Uncensored-Thinking完整社区贡献指南:如何参与这个无审查AI模型的开发与改进
  • Arduino音乐互动小屋:从传感器到执行器的嵌入式系统实战
  • 如何用cross-en-fr-it-roberta-sentence-transformer实现多语言句子嵌入?5分钟快速上手教程
  • 从幽灵发光贺卡入门:手把手教你理解电路原理与开关控制
  • Qwen3-14B思考模式详解:如何开启和使用链式推理功能提升AI对话质量
  • 如何用Zotero Style插件实现高效可视化文献管理:新手完整指南
  • 基于Raspberry Pi Pico的超低功耗智能语音时钟DIY全攻略
  • 如何快速访问Steam创意工坊:跨平台玩家的完整解决方案
  • 终极指南:如何用LinkSwift免费获取九大网盘直链下载地址