From 820a10f451908fb6ba3ab9e197ef12b98cee0a03 Mon Sep 17 00:00:00 2001 From: zhangxian Date: Sun, 1 Nov 2020 22:27:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20Comparator=20=E7=9A=84=20c?= =?UTF-8?q?ompare=20=E6=96=B9=E6=B3=95=E9=87=8C=E7=9A=84=E6=BA=A2=E5=87=BA?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 compare 方法里,不能直接使用 a[1] - b[1],因为可能会溢出,目前这种写法在 leetcode 已经不能通过了 --- ...350\260\203\345\272\246\351\227\256\351\242\230.md" | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git "a/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\350\264\252\345\277\203\347\256\227\346\263\225\344\271\213\345\214\272\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230.md" "b/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\350\264\252\345\277\203\347\256\227\346\263\225\344\271\213\345\214\272\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230.md" index 1ae5516..a1422d7 100644 --- "a/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\350\264\252\345\277\203\347\256\227\346\263\225\344\271\213\345\214\272\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230.md" +++ "b/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\350\264\252\345\277\203\347\256\227\346\263\225\344\271\213\345\214\272\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230.md" @@ -72,9 +72,15 @@ int intervalSchedule(int[][] intvs) {} public int intervalSchedule(int[][] intvs) { if (intvs.length == 0) return 0; // 按 end 升序排序 - Arrays.sort(intvs, new Comparator() { + Arrays.sort(points, new Comparator() { + @Override public int compare(int[] a, int[] b) { - return a[1] - b[1]; + // 这里不能使用 a[1] - b[1],要注意溢出问题 + if (a[1] < b[1]) + return -1; + else if (a[1] > b[1]) + return 1; + else return 0; } }); // 至少有一个区间不相交 -- GitLab