leetcode 452
老师你好针对leetcode的第 452题,Minimum Number of Arrows to Burst Balloons, 我的java题解如下, 但是没能通过, 没想出来为什么
class Solution {
public int findMinArrowShots(int[][] points) {
if(points.length == 0) return 0;
Arrays.sort(points, (a, b) -> a[1] - b[1]);
int close = points[0][1];
int arrow = 1;
for(int[] point : points) {
if(point[0] > close) {
close = point[1];
arrow++;
}
}
return arrow;
}
}
正在回答 回答被采纳积分+1
你这样给我贴一段代码问我为什么不对,我也不知道,因为我完全不明白你的代码思路。
请你:
1)简单阐述你的思路,并在代码重要的地方加注释;
2)对于什么测试用例,你的程序是错误的?对于这个测试用例,肯定在某一步,你的程序中变量计算的结果不正确了。具体是哪里?你的程序中的哪个变量存储的是什么?但你觉得实际应该是什么?你觉得想不明白?
如果你不知道如何找到你的程序的错误用例,将你的代码提交给 Leetcode,Leetcode 会返回出现错误的代码。比如我将你的程序提交后,返回是这样:
说明对于这个测试用例,正确答案是 2,你的程序返回结果是 1。
==========
其实很多时候,把这些“真正的问题”提出来,你很有可能已经自己解决了问题。
贴代码没有意义,讨论逻辑才有意义。不然我完全给你贴一个正确的代码,我相信这不是你想要的答案。
关于代码逻辑的描述和注释,可以参考这些问题:
https://class.imooc.com/course/qadetail/301612
https://class.imooc.com/course/qadetail/302016
继续加油!:)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星