提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、力扣860. 柠檬水找零
- 二、力扣406. 根据身高重建队列
- 三、力扣452. 用最少数量的箭引爆气球
前言
一、力扣860. 柠檬水找零
class Solution {public boolean lemonadeChange(int[] bills) {int five = 0, ten = 0, twenty = 0;for(int i = 0; i < bills.length; i ++){switch(bills[i]){case 5 : {five ++; break;}case 10 : {if(five > 0){ten ++;five --; break;}return false;}case 20 : {twenty ++;if(ten > 0 && five > 0){ten --; five --;break;}if(five >= 3){five -= 3; break;}return false;}}}return true;}
}
二、力扣406. 根据身高重建队列
class Solution {public int[][] reconstructQueue(int[][] people) {// 身高从大到小排(身高相同k小的站前面)Arrays.sort(people, (a, b) -> {if (a[0] == b[0]) return a[1] - b[1]; // a - b 是升序排列,故在a[0] == b[0]的狀況下,會根據k值升序排列return b[0] - a[0]; //b - a 是降序排列,在a[0] != b[0],的狀況會根據h值降序排列});LinkedList<int[]> res = new LinkedList<>();for(int[] a : people){res.add(a[1], a);}return res.toArray(new int[people.length][]);}
}
三、力扣452. 用最少数量的箭引爆气球
class Solution {public int findMinArrowShots(int[][] points) {if(points.length == 1)return 1;Arrays.sort(points, (a, b) -> Integer.compare(a[0], b[0]));int count = 1, left = points[0][0], right = points[0][1];for(int i = 1; i <points.length; i ++){if(points[i][0] <= right){left = points[i][0];right = Math.min(right, points[i][1]);}else{count ++;left = points[i][0];right = points[i][1];}}return count;}
}