zoukankan      html  css  js  c++  java
  • LeetCode 452. 用最少数量的箭引爆气球

    题目链接

    452. 用最少数量的箭引爆气球

    题目分析

    这个题其实有点像区间合并的题目,先对气球按照Xstart升序进行排序,然后计算所有气球可以整合成最少的区间数,返回即可。
    但是这里这个题有一个坑,就是在自定义排序的时候,不能直接简单使用a-b作为返回条件,因为在最后一个测试用例中,两个数相减会导致结果溢出整型的范围,这里我们需要一点小技巧,利用Integer.compare(a,b)作为返回值即可。

    代码实现

    class Solution {
        public int findMinArrowShots(int[][] points) {
            if(points.length == 0){
                return 0;
            }
            //测试用例加强了,如果直接用a - b的方法,会导致溢出的问题。
            Arrays.sort(points, (o1, o2) -> {
                return Integer.compare(o1[0], o2[0]);
            });
            int res = 0;
            int start = points[0][0];
            int end = points[0][1];
            for(int i = 1; i < points.length; i++){
                if(points[i][0] > end){
                    res++;
                    start = points[i][0];
                    end = points[i][1];
                }else{
                    end = Math.min(end, points[i][1]);
                }
            }
            return res + 1;
        }
    }
    
  • 相关阅读:
    JS_ ','逗号
    JS_prettyBanner[说给自己听]
    JS_关键字详细
    CSS_圣杯
    JS_ifream通信
    [转]<!DOCTYPE html>
    JS_ImageLazylode[说给自己听]
    CSS_负边距
    JS_waterfall[说给自己听]
    JS_call,apply
  • 原文地址:https://www.cnblogs.com/ZJPaang/p/14022900.html
Copyright © 2011-2022 走看看