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

  • 相关阅读:
    (四)使用SecureCRTPortable 连接虚拟机 安装jdk
    (三)配置本地YUM源
    (二) 配置 centos6.7
    docker学习
    linux磁盘情况查看处理
    日志文件切割
    已有项目创建git
    微擎绑定开放平台后依然拿不到唯一id?
    php7 安装mongodb扩展
    mongodb 学习
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8709537.html
Copyright © 2011-2022 走看看