【力扣hot100题】(119)搜索二维矩阵 II

有点难度的简单题。

我的想法是观察最左下和最右上的元素:若左下元素大于target,则可以去掉左下元素所在的行(最后一行),否则去掉左下元素在的列(第一列);若右上元素大于target,则可以去掉右上元素所在的列(最后一列),否则可以去掉右上元素所在的行(第一行)。

如此反复知道只剩一个元素。

cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int beginrow=0;
        int endrow=matrix.size()-1;
        int begincolumn=0;
        int endcolumn=matrix[0].size()-1;
        while(endcolumn>begincolumn||endrow>beginrow){
            for(endrow;endrow>=beginrow;endrow--){
                if(matrix[endrow][begincolumn]==target) return 1;
                if(matrix[endrow][begincolumn]<target) break;
            }
            for(beginrow;beginrow<endrow;beginrow++){
                if(matrix[beginrow][endcolumn]==target) return 1;
                if(matrix[beginrow][endcolumn]>target) break;
            }
            for(endcolumn;endcolumn>=begincolumn;endcolumn--){
                if(matrix[beginrow][endcolumn]==target) return 1;
                if(matrix[beginrow][endcolumn]<target) break;
            }
            for(begincolumn;begincolumn<endcolumn;begincolumn++){
                if(matrix[endrow][begincolumn]==target) return 1;
                if(matrix[endrow][begincolumn]>target) break;
            }
        }
        if(matrix[beginrow][begincolumn]==target) return 1;
        return 0;
    }
};
相关推荐
HugoStudio_SWAN1 小时前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
青 春 记 忆2 小时前
LeetCode 350. 两个数组的交集 II|Python 解法详解
python·算法·leetcode
阳明山水3 小时前
销量预测2025—2026:从模型竞赛到系统融合的范式转型
人工智能·深度学习·算法·机器学习·架构
桐盛科技3 小时前
拒绝“漂绿”风险:基于边缘计算的碳排放数据清洗算法与实时校验逻辑
人工智能·算法·边缘计算
Tongzhi20263 小时前
通芝科技考勤软件三大发展趋势:AI大模型、无感识别与数据底座
大数据·科技·算法·爬山算法
eBest数字化转型方案4 小时前
Route Optimization for FMCG:多目标排线算法的工程实现
大数据·人工智能·算法
致远ccc4 小时前
无人直播和真人直播有什么区别?如何用 DuoPlus 云手机搭建直播矩阵?
矩阵·无人直播·tiktok·云手机
residual_fan4 小时前
持续对比强化学习(Continual Contrastive Reinforcement Learning)论文分享
人工智能·算法·数据挖掘·数据分析
s_w.h5 小时前
【 计网 】序列化与反序列化
linux·服务器·网络·算法·bash
信奥卷王5 小时前
2025年09月GESPC++五级真题解析(含视频)
算法