zoukankan      html  css  js  c++  java
  • Matrix issue

    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) {
          
            if(matrix == null || matrix.length == 0)
                return false;
           
            int m = matrix.length;
            int n = matrix[0].length;
           
            if(target < matrix[0][0] || target > matrix[m-1][n-1])
            {
                return false;
            }
           
          
            int row = 0;
            int col = n-1;
            while (row <= m-1 && col >= 0)
            {
                if (matrix[row][col] < target)
                  row++;
                else if (matrix[row][col] > target)
                  col--;
                else
                  return true;
             }
           
            return false;   
        }
    }

     

  • 相关阅读:
    DAY 42 前端
    DAY 41 mysql
    DAY 40 前端学习
    DAY 39 前端学习
    DAY 38 前端学习
    DAY 37 前端学习
    上传一个桌面
    找到anaconda中自带的qtdesigner,设计ui文件并生成py文件
    python课程:python3的数字与字符串
    python3 偏最小二乘法实现
  • 原文地址:https://www.cnblogs.com/anorthwolf/p/3082951.html
Copyright © 2011-2022 走看看