惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
A
About on SuperTechFans
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
博客园 - Franky
D
Docker
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Last Week in AI
Last Week in AI
U
Unit 42
F
Fortinet All Blogs
H
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
P
Proofpoint News Feed
月光博客
月光博客
G
Google Developers Blog

LINUX DO - 最新话题

谷歌云盘下载700g数据集,求方法 OpenAI推出了100美元的Pro订阅后,plus的Codex 5小时限额大幅缩水 之前买的super grok居然还没掉 关于CPA认证文件周限 佬们,默认CDK的要求是什么等级啊? 最新版本的微信群聊机器人方案 有没有人知道如何free号没有封,那么是否可以循环使用,因为我看主要是周限 L站改版了?吓我一跳,我以为我浏览器崩了 淘宝这种宽带可信吗,500兆移动宽带月费8元到2099年 docker内部应用访问宿主机mysql和redis时被拒绝connection refuse Erp全栈想转行做Ai有什么推荐的吗 boost有bug 佬们,有没有靠谱点的 Plus 购买渠道 大妈,狗妈用的 lg 服务有源头开源项目吗? 有人有能过验证码打码的嘛 上次帖里好像发过通过大模型来打码的 gpt plus 封号似乎也太快了点,一天就给封号了 按流量/token收费的国产官方AI推荐 我算是知道了为什么Oracle总是ABC了 佬友们帮我分析一下 ChatGPT Team账号只有一个人使用和4个席位邀请满了使用的总额度是一样的吗? gpt-free 10个带rt CPA反代claude是默认1m吗? 我终于敢说我做出来windows上tmux的替代了,目标windows/全平台最强的终端Ai编程工具 claude pro升级max,除了原来的$20,好像还能再领一次$100 关于AI agent的知识框架 独乐乐不如众乐乐,分享一下我的的AI对话程序 佬们自建网站支付问题是怎么解决的 怎么能让gpt模仿claude风格输出 codex free已经死了,下一个会是plus或者team吗 请问chatgpt pro里的fast模式,速度快了,降智吗
Leetcode每日一题 —— 2126. 摧毁小行星
SomeBottle · 2026-05-31 · via LINUX DO - 最新话题

思路

行星撞碎小行星时会累加质量,我们可以任意排列小行星的顺序。

很明显的贪心题。对小行星进行升序排序后,质量从小到大和行星相撞,让行星不断累加质量。

如果遇到某颗小行星比行星累计质量还大,那后面的小行星必然都会把这颗行星撞碎 :globe_showing_europe_africa::collision::comet:


代码

class Solution {
public:
    bool asteroidsDestroyed(int mass, vector<int>& asteroids) {
        // 先按质量对小行星排序
        sort(asteroids.begin(),asteroids.end());
        // 排序后其实可以从小到大撞小行星
        // 直至哪个小行星质量大于行星累计的质量
        long long acc=mass;
        for(int a:asteroids){
            if(acc<a){
                return false;
            }
            acc+=a;
        }
        return true;
    }
};

Lvvvv (Lvvvv) 3

贪心排序就可以解决。数据范围小坑点。

class Solution {
public:
    bool asteroidsDestroyed(int mass, vector<int>& asteroids) {
        std::sort(asteroids.begin(),asteroids.end());
        for(const auto& it : asteroids) {
            if(mass < it) {
                return false;
            } else if(mass > 1e5) {
                return true;
            }
            mass += it;
        }
        return true;
    }
};

Qiansui (Qiansui) 4

小心爆 int ~
一不小心没注意,WA + 1 :distorted_face:

class Solution {
public:
    bool asteroidsDestroyed(long long mass, vector<int>& asteroids) {
        sort(asteroids.begin(), asteroids.end());
        for(auto& x : asteroids){
            if(mass < x) return false;
            mass += x;
        }
        return true;
    }
};

Elbertoo (Elbert) 5

class Solution:
    def asteroidsDestroyed(self, mass: int, asteroids: List[int]) -> bool:
        asteroids.sort()
        maxMass = asteroids[-1];
        for m in asteroids:
            if mass >= m: 
                mass += m
                if mass >= maxMass: return True
            else: return False
        return True

偷看一眼最大的、超过它就直接返回

CPython (CPython) 6

class Solution:
    def asteroidsDestroyed(self, mass: int, asteroids: List[int]) -> bool:
        asteroids.sort()
        if mass < asteroids[0]:
            return False
        n = len(asteroids)
        pre = [mass] * (n + 1)
        for i in range(n):
            if pre[i] < asteroids[i]:
                return False
            pre[i+1] = pre[i] + asteroids[i]
        return True