zoukankan      html  css  js  c++  java
  • 28、搜索二维矩阵

    题目:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:

    • 每行的元素从左到右升序排列。
    • 每列的元素从上到下升序排列。

    思路:这道题在很早以前已经学习过相关解法,所以一看到就有思路。

       这道题的特点是:右上角的元素在一行中最大,在列中为最小。所以当一个数比它大时,肯定在列方向往下移动,当一个数比它小时,肯定在行方向往左移动。

       所以将目标值与右上角函数来比较。

    class Solution
    {
    public:
        bool searchMatrix(vector<vector<int> > &matrix, int target) 
        {
            if(matrix.empty() || matrix[0].empty())   
           {  
              return false;  
           } 
            int row=0;  
            int col=matrix[0].size()-1;  
            while(row<matrix.size() && col>-1)
            {  
                if(target == matrix[row][col]){  
                    return true;
                }else if(target < matrix[row][col] )
                {  
                    col--;  
                }else{  
                    row++;  
                }  
            }
            return false;
        }
    };
  • 相关阅读:
    各种数据库查询表及表信息的SQL
    多维表头的DataGridView
    SQLite入门笔记
    配置WCF的心得
    JS键盘的键码
    ASP.NET的URL过滤
    利用反射查看类成员
    一个简单的MVC示例
    一个日志类 LogUtil
    一个IniHelper
  • 原文地址:https://www.cnblogs.com/roscangjie/p/10949959.html
Copyright © 2011-2022 走看看