zoukankan      html  css  js  c++  java
  • 074 Search a 2D Matrix 搜索二维矩阵

    编写一个高效的算法来搜索 m x n 矩阵中的一个目标值。该矩阵具有以下特性:
        每行中的整数从左到右排序。
        每行的第一个整数大于前一行的最后一个整数。
    例如,
    以下矩阵:
    [
      [1,   3,  5,  7],
      [10, 11, 16, 20],
      [23, 30, 34, 50]
    ]
    给定 目标值= 3,返回 true。
    详见:https://leetcode.com/problems/search-a-2d-matrix/description/

    Java实现:

    class Solution {
        public boolean searchMatrix(int[][] matrix, int target) {
            int row=matrix.length-1;
            int col=0;
            while(row>=0&&col<matrix[0].length){
                if(matrix[row][col]==target){
                    return true;
                }else if(matrix[row][col]>target){
                    --row;
                }else{
                    ++col;
                }
            }
            return false;
        }
    }
    

     C++实现:

    class Solution {
    public:
        bool searchMatrix(vector<vector<int>>& matrix, int target) {
            int i = matrix.size()-1;  
            int j = 0;  
            while (i >=0 && j <matrix[0].size())  
            {  
                if (target > matrix[i][j])  
                {  
                    ++j;  
                }  
                else if (target < matrix[i][j])  
                {  
                    --i;  
                }  
                else  
                {  
                    return true;  
                }  
            }  
            return false;  
        }
    };
    

     参考:https://blog.csdn.net/zhangxiao93/article/details/49835511

  • 相关阅读:
    java中锁的应用(ReentrantLock)
    java中锁的应用(synchronized)
    Redis + keepalived 主从设置与搭建
    Smokeping搭建
    Mysql5.7双主安装与使用
    软件测试作业3
    软件测试作业2
    github&文章
    PICT的安装和使用
    Junit的安装和使用
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8709537.html
Copyright © 2011-2022 走看看