比较取巧的一个方法是选择右上角的元素matrix[i][j]和target作比较,如果比target大,则一定不在最后一列,如果比target下,则一定不在第一行,如果相等,则找到了。
1 | class Solution { |
另一种方法是用分治的思想,选取中心点元素,如果正好与target相等,则找到了,如果比target小,则target一定不在第一象限的子矩阵里,如果比target大,则target一定不在第四象限的子矩阵里。排除第一或第四象限的子矩阵后,还剩一个原来1/4的矩阵和一个1/2的子矩阵,分别再在子矩阵中递归该过程,直到找到结果
1 | class Solution { |