你的位置:首页 > Java教程

[Java教程]240. Search a 2D Matrix II


Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:

 

  • Integers in each row are sorted in ascending from left to right.
  • Integers in each column are sorted in ascending from top to bottom.

 

For example,

Consider the following 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]]

Given target = 5, return true.

Given target = 20, return false.

代码如下:

 1 public class Solution { 2   public boolean searchMatrix(int[][] matrix, int target) { 3     List<Integer> list=new ArrayList<>(); 4     for(int i=0;i<matrix.length;i++) 5     { 6       for(int j=0;j<matrix[i].length;j++){ 7         list.add(matrix[i][j]); 8       } 9     }10     if(list.contains(target))11     return true;12     13     return false;14   }15 }