
LeetCode记录
LLLLxr_这总不重复了吧
风浪没平息,我宣告奔跑的意义
展开
-
Leecode435无重叠区间(贪心)
首先要注意的是0输入问题其次自己想的思路是先按左起点从小到大排序,如果左起点相等再按右起点从小到大排序,然后遍历数组比较前一个没被删除标记,但是有一个问题是,也许删除的是前一个比较的标志数组,因为比如(1,13)和(2,11)是应该删除(1,13)的。所以只需要对左起点排序,然后遍历数组,保留右起点小的那个数据即可。class Solution { public int eraseOverlapIntervals(int[][] intervals) { if(interva原创 2020-12-31 14:49:54 · 126 阅读 · 0 评论 -
Leecode1046最后一块石头的重量(最大堆的java使用)
class Solution { public int lastStoneWeight(int[] stones) { PriorityQueue<Integer> pq = new PriorityQueue<Integer>((a,b) -> b - a); for(int stone : stones){ pq.offer(stone); } while(pq.size()原创 2020-12-30 20:15:24 · 123 阅读 · 0 评论 -
Leecode55:合并区间(数组还能这样调用)
不贴题解List<int[]> ans = new ArrayList<int[]>(); ans.add(new int[]{0,0}); ans.get(ans.size() - 1)[1] = 1;//学到了原创 2020-12-13 10:50:05 · 123 阅读 · 0 评论 -
Leecode-973 + cpmpareto比较二维数组以及数组的裁剪
class Solution { public int[][] kClosest(int[][] points, int K) { Arrays.sort(points, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return (o1[0]*o1[0] + o1[1]*o1[1])原创 2020-11-09 10:46:10 · 108 阅读 · 0 评论 -
Comparator应该怎么重写
ArrayList<Integer> list = new ArrayList<>();Collections.sort(list, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1 - o2;// o1 - o2 升序,反之降序 }原创 2020-11-06 22:22:00 · 530 阅读 · 1 评论