LeetCode 240. 搜索二维矩阵 II(java实现)

240. 搜索二维矩阵 II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。
  • 每列的元素从上到下升序排列。

示例 1:
在这里插入图片描述

输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5
输出:true

示例 2:
在这里插入图片描述

输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 20
输出:false

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= n, m <= 300
  • -10^9 <= matrix[i][j] <= 10^9
  • 每行的所有元素从左到右升序排列
  • 每列的所有元素从上到下升序排列
  • -10^9 <= target <= 10^9

解答思路:

  • 直接进行二维数组行优先遍历,若能匹配到目标元素,则返回true,否则返回false。
class Solution {
    
    
    public boolean searchMatrix(int[][] matrix, int target) {
    
    
                boolean flag=false;
    a:for(int i=0;i<matrix.length;i++){
    
    //从二维数组的第一行开始遍历,一行一行开始遍历
        for(int j=0;j<matrix[i].length;j++){
    
    
          if(matrix[i][j]==target){
    
    //判断二维数组中是否有目标元素
                flag=true;//存在,则返回true,并退出循环,停止查找
                break a;
                 }
             }
        }
    return flag;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44243059/article/details/125712122