240. 搜索二维矩阵 II——双指针

2020-07-20  本文已影响0人  含泪若笑

这个也是缩减空间的思想,和167和11题一样。

不太一样的是这个是一个矩阵,所以没有头和尾,但是我们可以找到一个行最小列最大的地——就是右上角;或者列最小行最大的地——左下角,这样当我们从两个地方任何一个地方出发时,会发现不符合只能唯一移动某一个值,另一个值是没有用的,所有就变成了双指针的问题。

然后这道题里面我发现我竟然对于java的二维数组有点不清楚,java的二维数组是在一维数组中嵌套实现的。所以找元素的话,a[2][1]表示——先从一维数组里面选出来一个数组,再从这个数组里面选一个元素。对应到矩阵上面就是第三行第二个元素。还有一点就是java表示的二维数据的行数等于外围这个数组的长度,列数是里面的任何一行的长度a[0].length。还需要多理解一下,查缺补漏了。

代码:

https://github.com/hanleirx/LeetCode/blob/master/240.%20%E6%90%9C%E7%B4%A2%E4%BA%8C%E7%BB%B4%E7%9F%A9%E9%98%B5%20II

上一篇下一篇

猜你喜欢

热点阅读