我的js算法爬坑之旅-用最少数量的箭引爆气球

161 阅读1分钟

第四十七天:力扣第452题,用最少数量的箭引爆气球

地址:leetcode-cn.com/problems/mi…

思路:按数组每项的最后一项排序,就是points[i][1]从小到大排序,然后进行判断,若是前一项的第二项比后一项的第一项大或等于,则总箭数减一。(points[i][1] >= points[i + flag][0]

var findMinArrowShots = function(points) {
  points.sort((a, b) => a[1] - b[1]);
  let res = points.length;
  let flag = 1;
  for(let i = 0; i + flag < points.length; i++)
  {
    if(points[i][1] >= points[i + flag][0])
    {
      res--;
      flag++;
      i--;
    }
    else
    {
      i = i + flag - 1;
      flag = 1;
    }
  }
  return res;
};

执行用时:124 ms, 在所有 JavaScript 提交中击败了83.03%的用户

内存消耗:44.6 MB, 在所有 JavaScript 提交中击败了46.95%的用户