【LeetCode75】第七十三题 用最少数量的箭引爆气球

2023-10-19 04:28

本文主要是介绍【LeetCode75】第七十三题 用最少数量的箭引爆气球,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

本题和上一题基本一样,上一题是要我们尽量让区间不重叠,而本题是要我们尽量让区间重叠。

所以我们的做法和上一题基本一致,只不过由于我们要让尽可能多的区间重叠才可以用最少的箭来引爆所有气球。

因此我们一样是对区间进行排序,按照 左端从小到大的顺序。

接着是拿一个变量去接收最小的右端。

不过右端的更新情况跟上一题相比有点不同。我们在遇到不重叠的区间的时候,所需用的箭+1,并且直接将右端点更新成新的区间的右端点。

在遇到重叠区间的时候我们就将右端点更新为较小值。

并且跟上一题不一样的是,我们起码要用一根箭,所以答案初始化为1。

代码:

class Solution {
public:int findMinArrowShots(vector<vector<int>>& points) {//以左端点为升序排序.sort(points.begin(),points.end(),[&](vector<int> &a,vector<int> &b){return a[0]<b[0];});int res=1;int end=points[0][1]; //记录最小的右端点for(int i=1;i<points.size();i++){if(points[i][0]<=end){end=min(end,points[i][1]);}else{end=points[i][1];res++;}}return res;}
};

这篇关于【LeetCode75】第七十三题 用最少数量的箭引爆气球的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/237302

相关文章

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

一个统计文件中关键词数量的小程序-优化版本

public class computeWxxFileNum{public static void main(String[] args) throws IOException {//读文件File sourceFile = new File("e:\\55-tmp\\xxx.log");FileReader in = new FileReader(sourceFile); LineNumber

一个统计文件中关键词数量的小程序

public class computeFileNum{public static void main(String[] args) throws IOException {File sourceFile = new File("e:\\55-tmp\\xxx.log"); FileReader in = new FileReader(sourceFile); LineNumberReader

pytorch计算网络参数量和Flops

from torchsummary import summarysummary(net, input_size=(3, 256, 256), batch_size=-1) 输出的参数是除以一百万(/1000000)M, from fvcore.nn import FlopCountAnalysisinputs = torch.randn(1, 3, 256, 256).cuda()fl

【每日一题】LeetCode 2379.得到K个黑块的最少涂色次数(字符串、滑动窗口)

【每日一题】LeetCode 2379.得到K个黑块的最少涂色次数(字符串、滑动窗口) 题目描述 给定一个字符串 blocks,其中每个字符代表一个颜色块,可以是 ‘W’(白色)或 ‘B’(黑色)。你需要找到一个至少包含 k 个连续黑色块的子串。每次操作可以将一个白色块变成黑色块。你的任务是找到至少出现一次连续 k 个黑色块的最少操作次数。 和该题目类似:【每日一题】LeetCode 202

智力题:25匹马5条跑道找最快的3匹马,最少需要跑几次?

要找出25匹马中最快的3匹马,使用5条跑道,最少需要跑几次?我们可以通过逐步推理来解决这个问题。 第一步:分组比赛 首先,我们将25匹马分成5组,每组5匹马。每组进行一次比赛,这样我们就有5次比赛的结果。 组1:A1, A2, A3, A4, A5 组2:B1, B2, B3, B4, B5 组3:C1, C2, C3, C4, C5 组4:D1, D2, D3, D4, D5 组

Leetcode3258. 统计满足 K 约束的子字符串数量 I

Every day a Leetcode 题目来源:3258. 统计满足 K 约束的子字符串数量 I 解法1:暴力 暴力枚举每一个子字符串,看是否满足 k 约束。 代码: /** @lc app=leetcode.cn id=3258 lang=cpp** [3258] 统计满足 K 约束的子字符串数量 I*/// @lc code=startclass Solution{publ

JD 1147:Jugs(一种用最少步骤求解的方法)

OJ题目:click here~~ 题目分析:九度上这道没有要求最少步数,只要得到最后结果即可AC , bfs , dfs都行。最少步骤的方法肯定也能AC啦,分析如下。 输入的三个数:a,b,n;> 由题不定方程ax+by=n必定有解> 如果b=n,则fill B即可,否则用试探法求出这样的两组解(a1,b1)及(a2,b2),其中a1 >0,b1<0;a1是满足方程的最小正整数;a2

报错处理:超过Uobject最大数量

处理方式 一、打包时项目中设置游戏中UObject的最大数量为100000000 二、打包后的配置文件中设置 打包路径: 一厅统管\Windows\YZ_YTTG\Saved\Config\Windows\Engine.ini文件下添加配置文件 [/Script/Engine.GarbageCollectionSettings] gc.MaxObjectsInEditor=100000000

数字化变革驱动珠江电缆产品质量与数量双提升

在全球化与科技迅猛发展的今天,传统制造业面临前所未有的挑战和机遇。 珠江电缆引入先进的生产管理系统,通过数字化手段优化生产流程。从原材料采购、生产计划到成品检验,每个环节都实现了信息化和数据化。这不仅减少了人为误差,还大大提升了生产效率,使得产品数量在短时间内得到了显著增加。 为了确保产品质量的稳定和提升,珠江电缆积极引进智能制造技术。通过自动化生产线和智能检测设备的应用,企业能够实时