zoukankan      html  css  js  c++  java
  • [leedcode 74] Search a 2D Matrix

    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 from left to right.
    • The first integer of each row is greater than the last integer of the previous row.

    For example,

    Consider the following matrix:

    [
      [1,   3,  5,  7],
      [10, 11, 16, 20],
      [23, 30, 34, 50]
    ]
    

    Given target = 3, return true.

    public class Solution {
        public boolean searchMatrix(int[][] matrix, int target) {
            //从右上开始遍历
            //注意循环的写法,不是两层循环!!时间复杂度是O(m+n)?
            int row=matrix.length;
            int col=matrix[0].length;
            int i=0;
            int j=col-1;
            while(i<row&&j>=0){
                if(matrix[i][j]==target) return true;
                if(matrix[i][j]>target){
                    j--;
                }else i++;
            }
            return false;
        }
    }
  • 相关阅读:
    2016/4/27 xml
    2016/4/27 网络编程
    2016/4/25 java io
    mysql 基础列题
    数据库的语法
    数据库
    io流
    xml
    网络编程
    gui2
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4646026.html
Copyright © 2011-2022 走看看