zoukankan      html  css  js  c++  java
  • 240. 搜索二维矩阵 II

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

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

    示例 1:


    输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5
    输出:true
    示例 2:


    输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 20
    输出:false
     

    提示:

    m == matrix.length
    n == matrix[i].length
    1 <= n, m <= 300
    -109 <= matix[i][j] <= 109
    每行的所有元素从左到右升序排列
    每列的所有元素从上到下升序排列
    -109 <= target <= 109

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

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

      

  • 相关阅读:
    状态机的常见问题
    基于quartus的高级时序分析
    FPGA中的时钟域问题
    quartus中的时序约束常用方法
    时序约束与时序分析
    FPGA的PCB设计
    AXI4的主机协议代码分析
    selenium 笔记 场景判断
    Codeforces Round #676 (Div. 2) XORwice、Putting Bricks in the Wall、Palindromifier
    Trap HDU
  • 原文地址:https://www.cnblogs.com/qiaozhoulin/p/15027335.html
Copyright © 2011-2022 走看看