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

    编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

    • 每行中的整数从左到右按升序排列。
    • 每行的第一个整数大于前一行的最后一个整数。

    示例 1:

    输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] target = 3 输出: true

    示例 2:

    输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] target = 13 输出: false

    写法一:

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

    写法二:

    class Solution {
    public:
        bool searchMatrix(vector<vector<int> >& matrix, int target)
        {
            int r = matrix.size();
            if(r == 0)
                return false;
            int c = matrix[0].size();
            if(c == 0)
                return false;
            int i = 0;
            int j = c - 1;
            while(i >= 0 && i < r && j >= 0 && j < c)
            {
                if(matrix[i][j] == target)
                    return true;
                else if(matrix[i][j] < target)
                    i++;
                else
                    j--;
            }
            return false;
        }
    };
  • 相关阅读:
    [django]自定义标签和过滤器
    [js]js中6种错误处理机制
    [js] Array.slice和类数组转数组
    [js]this和call.call
    [py]python的time和datetime模块获取星期几
    CentOS 普通用户提升root权限
    CentOS ACL
    CentOS 文件隐藏属性
    CentOS 文件特殊权限SUID,SGID,SBIT
    CentOS 用户管理useradd、usermod等
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10433860.html
Copyright © 2011-2022 走看看