Java教程

LeetCode_240 搜索二维矩阵 II(Java版)

本文主要是介绍LeetCode_240 搜索二维矩阵 II(Java版),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

image

每次排除一行,或者一列,直接用两个二分法,一次排除半行或半列

public class Optimization {
    public boolean searchMatrix(int[][] matrix, int target) {
        int x = 0;
        int y = matrix[x].length-1;//从右上角开始检查
        while(x < matrix.length && y >= 0){//越界后退出
            if(matrix[x][y] == target){//找到返回true
                return true;
            }else if(matrix[x][y] > target){//比目标值大,因为已经在最右边,所以列减一个,找到比其小的那一列
                y -= 1;
            }else{//已经到了这一列,此时在第0行,比其小,行加一
                x += 1;
            }
        }
        return false;
    }
}
这篇关于LeetCode_240 搜索二维矩阵 II(Java版)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!