c********p 发帖数: 1969 | 1 这个题,我是这样做的:
1. 从4周(最上一行,和最下一行,然后第一列除去首尾,最后一列除去首尾)找到 O,
把坐标x,y 放到2个queue里。找到的时候,把O标记成了Y.
2. 当queue不为空时
把queue里的坐标poll出来,看这个坐标上下左右,如果是O, add到queue最后。
3. 把矩阵中的O变成X, 把Y变成O.
过的了小oj,过不了大oj
我参考的是这个blog,然后把人家c++代码放进去跑了,就过的了大oj。。。
http://fisherlei.blogspot.com/2013/03/leetcode-surrounded-regio
我哪里耗时耗空间了?? |
g**G 发帖数: 767 | 2 2. 当queue不为空时
把queue里的坐标poll出来,看这个坐标上下左右,如果是O, add到queue最后
你有没有标记访问过的点? |
c********p 发帖数: 1969 | 3 没,我是参照那个blog的方法写的。他一开始有标记点,但发现超时了。后来他不标记
,就不超时了。
这里我也觉得他的方法不妥当。
所以我的方法里,一开始就把o换成y了。
【在 g**G 的大作中提到】 : 2. 当queue不为空时 : 把queue里的坐标poll出来,看这个坐标上下左右,如果是O, add到queue最后 : 你有没有标记访问过的点?
|
z****e 发帖数: 54598 | |
s*********t 发帖数: 52 | 5 没问题啊,刚试了下,就按你说的写的,能通过
,
【在 c********p 的大作中提到】 : 这个题,我是这样做的: : 1. 从4周(最上一行,和最下一行,然后第一列除去首尾,最后一列除去首尾)找到 O, : 把坐标x,y 放到2个queue里。找到的时候,把O标记成了Y. : 2. 当queue不为空时 : 把queue里的坐标poll出来,看这个坐标上下左右,如果是O, add到queue最后。 : 3. 把矩阵中的O变成X, 把Y变成O. : 过的了小oj,过不了大oj : 我参考的是这个blog,然后把人家c++代码放进去跑了,就过的了大oj。。。 : http://fisherlei.blogspot.com/2013/03/leetcode-surrounded-regio : 我哪里耗时耗空间了??
|
J****3 发帖数: 427 | 6 Java的貌似有时候 代码对 大OJ也有可能过不了 |
z****e 发帖数: 54598 | 7 jvm的效率问题
jvm启动需要时间
这种问题太小,杀鸡用牛刀那种感觉
有个办法
连续运行三次
这样jvm就会转入jit
效率就高了,所以有些恶心的大test case
都是第三次才过
【在 J****3 的大作中提到】 : Java的貌似有时候 代码对 大OJ也有可能过不了
|
c********p 发帖数: 1969 | 8 我剩下几道题,一看就恶心不想写。于是之后就慢慢写,像喝中药一样恶心。。。
【在 z****e 的大作中提到】 : 你不是做完一遍了么?
|
c********p 发帖数: 1969 | 9 能发我代码么 java的
【在 s*********t 的大作中提到】 : 没问题啊,刚试了下,就按你说的写的,能通过 : : ,
|
c********p 发帖数: 1969 | 10 哇哇哇哇!!
果然我第2次运行的时候就通过了大oj!!
太神奇了。。。。
我昨天花一天时间思考我到底哪里写错了。。。。。
【在 z****e 的大作中提到】 : jvm的效率问题 : jvm启动需要时间 : 这种问题太小,杀鸡用牛刀那种感觉 : 有个办法 : 连续运行三次 : 这样jvm就会转入jit : 效率就高了,所以有些恶心的大test case : 都是第三次才过
|