LeetCode 面试题 10.09. 排序矩阵查找

文章目录

一、题目

给定M×N矩阵,每一行、每一列都按升序排列,请编写代码找出某元素。

示例:

现有矩阵 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

给定 target = 20,返回 false

点击此处跳转题目

二、C# 题解

以右上方的元素为起点,向左下方查找,即可以看成是一个二叉查找树:

csharp 复制代码
public class Solution {
    public bool SearchMatrix(int[][] matrix, int target) {
        if (matrix.Length == 0) return false;
        int row = matrix.Length, col = matrix[0].Length, i = 0, j = col - 1;
        while (i < row && j >= 0) {
            if (target == matrix[i][j]) return true;
            if (target > matrix[i][j]) i++; // 进入右子树
            else j--;                       // 进入左子树
        }
        return false;
    }
}
  • 时间:120 ms,击败 100.00% 使用 C# 的用户
  • 内存:60.17 MB,击败 100.00% 使用 C# 的用户
相关推荐
岛雨QA3 分钟前
排序算法「Java数据结构与算法学习笔记6」
数据结构·算法
熬夜有啥好8 分钟前
Linux软件编程——综合小练习
linux·算法·目录遍历·fgets·strcpy·linux内核与用户交互·strtok
民乐团扒谱机16 分钟前
【硬核解析】网易云听歌/哼歌识曲底层技术:从算法实现到工程落地(附核心公式/伪代码)
算法
Z9fish18 分钟前
sse哈工大C语言编程练习23
c语言·数据结构·算法
ArturiaZ18 分钟前
【day36】
数据结构·c++·算法
山河君22 分钟前
四麦克风声源定位实战:基于 GCC-PHAT + 最小二乘法实现 DOA
算法·音视频·语音识别·信号处理·最小二乘法·tdoa
kylezhao201924 分钟前
C# 的开闭原则(OCP)在工控上位机开发中的具体应用
网络·c#·开闭原则
额,不知道写啥。28 分钟前
P5354 [Ynoi Easy Round 2017] 由乃的 OJ
java·开发语言·算法
代码无bug抓狂人29 分钟前
C语言之单词方阵——深搜(很好的深搜例题)
c语言·开发语言·算法·深度优先
foundbug99938 分钟前
基于C# WinForm实现串口数据读取与实时折线图显示
开发语言·c#