标签:tco solution png 方式 写法 hot sort 变量 大小写
贪心算法一共有两类问题:
总之,贪心算法就是一个变量一定,求另一个变量最多或者最少值。
官方的说法是贪心算法一般用来解决需要 “找到要做某事的最小数量” 或 “找到在某些情况下适合的最大物品数量” 的问题,且提供的是无序的输入。
两种问题采用贪心算法的合理性:
注意:
1、如何对一个二维数组按照一定规则进行排序,如按照最后一位进行排序。注意下面用的是匿名函数的写法
Arrays.sort(points, new Comparatoe<int[]>(){//传进二维数组 @Override public int compare(int[] o1,int[]o2){//参数是一维数组 return o1[1]-o2[1];//计算二维数组第二维的差值,如果小于0则说明前面的小,排在前面 } })
2、注意本题中二维数组的循环方法,是用二维数组中的一维地址进行遍历
代码:
class Solution { public int findMinArrowShots(int[][] points) { if(points.length==0) return 0; Arrays.sort(points,new Comparator<int[]>(){//注意这里的大小写,因为是类名所以大写 @Override public int compare(int[]o1,int[]o2){ return o1[1]-o2[1]; } });//注意这里要有分号,不要忘记写,因为这里也是一行语句。 int count=1; int startx,endx,endv=points[0][1];//注意这里二维数组的索引方式,容易写错!! for(int[] p:points){ startx=p[0]; endx=p[1]; if(startx>endv){ count++; endv=p[1]; } } return count; } }
标签:tco solution png 方式 写法 hot sort 变量 大小写
原文地址:https://www.cnblogs.com/sjh-dora/p/12868248.html