代码编织梦想

剑指 Offer 04. 二维数组中的查找

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

示例:

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

限制:

0 <= n <= 1000
0 <= m <= 1000
class Solution {
    public boolean findNumberIn2DArray(int[][] matrix, int target) {
        for(int i=0;i<matrix.length;i++){
            for(int j=0;j<matrix[i].length;j++){
                if(target==matrix[i][j])
                    return true;
            }
        }
        return false;
    }
}
class Solution {
    public boolean findNumberIn2DArray(int[][] matrix, int target) {
        if(matrix.length==0||matrix == null||matrix[0].length==0)
            return false;
        int row = 0;
        int column = matrix[0].length-1;
        while(row<matrix.length && column>=0){
            if(target<matrix[row][column])
                column--;
            else if(target>matrix[row][column])
                row++;
            else
                return true;
        }
        return false;
    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/DoMoreSpeakLess/article/details/124062503

《剑指offer》python语言 面试题3:二维数组中的查找_da_da007的博客-爱代码爱编程

    写在开头的话:     当想写这个的时候,发现已经有人做了这个工作了,详情请见Python基础算法/剑指offer,然而依然决定自己写下这个系列,作为算法部分的巩固和提高。在自己写完后会借鉴Python基础算法/剑指offer的代码,如有部分重复,还请见谅。 # -*- coding: UTF-8 -*-. ''' 在一个二维数组中,每一行都

剑指offer专题-数组-面试题3:二维数组中的查找_luna_ll的博客-爱代码爱编程

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 import java.util.Scanner; public class Solution { public boolean Find(int target, int [

二维数组中的查找-爱代码爱编程

  在一维数组中查找一个数有很多办法,比如最简单的暴力查找,或者排序之后在利用二分查找,如果涉及到二维数组,其实原理还是一样的。 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成 一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 [ [1, 4, 7, 11,

二维数组中的查找-力扣-爱代码爱编程

原题链接 一、题目描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ 1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9,

数据研发笔试Leetcode刷题笔记02:二维数组中的查找-爱代码爱编程

文章目录 1 题目描述2 解题思路2.1 直接遍历二维数组2.2 巧妙利用标志数性质2.3 递归3 代码实现(Python3)4 复杂度分析 1 题目描述 来源:力扣(LeetCode) 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数

面试题4:二维数组中的查找-爱代码爱编程

面试题4:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22],

LeetCode—剑指Offer:二维数组中的查找(暴力)-爱代码爱编程

剑指Offer:二维数组中的查找(简单) 2020年8月8日 题目来源:力扣 解题 暴力class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { //拿到行数 int n_len=matrix.len

剑指offer第2题:二维数组中的查找-爱代码爱编程

2、二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9,

力扣 剑指offer04 二维数组中查找-爱代码爱编程

一、解题思路 观察数据规律,让程序只做必要的判断,因为递增,一旦目标值小于数组中的某个值,那么此行后面元素都可以不用考虑。具体见下面注释 对应算法240题用这个方法会有超时的测试数据,内循环改成二分查找就可以通过。 二、解题答案 class Solution { public: bool findNumberIn2DArray(vector&

力扣(LeetCode)算法_C++——二维数组中的查找-爱代码爱编程

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10,

剑指Offer-04:二维数组中的查找-爱代码爱编程

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [1

LeetCode:二维数组的查找-爱代码爱编程

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9

力扣 二维数组中的查找-爱代码爱编程

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [1

剑指offer 04: 二维数组中的查找-爱代码爱编程

题目描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-ch

力扣LeetCode经典算法 二维数组中的查找-爱代码爱编程

数据结构(四十二) 学习数据结构与算法过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。 —— 二维数组中的查找 —— 1.题目描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。