二维数组中的查找

loveer      2022-02-16     187

关键词:

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

public class ld {
    public static void main(String[] args) {
        int[][] array = {{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 7, 10, 13}, {6, 8, 11, 15}};
        boolean find = new Solution2().Find(100, array);
        System.out.println(find);
    }
}


class Solution1 {
    /**
     * 暴力法
     *  时间复杂度:O(n^2)
     *  空间复杂度:O(1)
     */
    public boolean Find(int target, int[][] array) {
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                if (array[i][j] == target) {
                    return true;
                }
            }
        }
        return false;
    }
}

class Solution2 {
    /**
     * 自下而上,每次排除一行或者一列
     *  时间复杂度:O(行高 + 列宽)
     *  空间复杂度:O(1)
     */
    public boolean Find(int target, int[][] array) {
        int rows = array.length;
        int cols = array[0].length;
        if (rows == 0 || cols == 0) {
            return false;
        }
        int row = rows - 1;
        int col = 0;
        while (row >= 0 && col < cols) {
            if (array[row][col] < target) {
                col++;
            } else if (array[row][col] > target) {
                row--;
            } else {
                return true;
            }
        }
        return false;
    }
}

二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。publicclassl... 查看详情

二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。设target是所要查找的数  二维数... 查看详情

《剑指offer》二维数组中的查找(代码片段)

二维数组中的查找题目描述:在一个二维数组中,每个一维数组的长度相同,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中... 查看详情

查找有序二维数组中的元素

给定一个已排序的二维数组array,在其中查找一个元素value查找策略如下图:(1)将value和数组的右上角的值比较,如果大于右上角的值,则移除数组的第一行。(2)将value和数组的左下角的值比较,如果大于左下角的值,则移... 查看详情

[剑指offer]5.二维数组中的查找

题目在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序。请完毕一个函数,输入这种一个二维数组和一个整数。推断数组中是否含有该整数。思路[算法系列之三十三]杨氏矩阵代... 查看详情

剑指offer编程-二维数组中的查找

二维数组中的查找题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。#include<ios... 查看详情

二维数组中的查找(代码片段)

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。样例:输入数组:[[1,2,8,9],[2,4,9,12],[... 查看详情

二维数组中的查找

【题目】在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。1.普通方法(不利用有序的特... 查看详情

二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。... 查看详情

二维数组中的查找(代码片段)

题目描述  在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路一:  把二维数组... 查看详情

有序二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。输入这样一个二维数组和一个整数,判断数组中是否含有该整数。思路:首先看到这样一个题目我们先分析题目,把二... 查看详情

面试题3-二维数组中的查找

面试题3-二维数组中的查找剑指Offer 基础知识数组是最简单的一种数据结构,它占据一块连续的内存并按照顺序存储数据。在创建数组的时候,必须首先指定数组的容量大小,然后根据大小来分配内存,一经建立之后数组的... 查看详情

二维数组中的查找

  在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数  思路:从右至左,从上至下,不... 查看详情

剑指offer一:二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:这是一个顺序二维数组,... 查看详情

二维数组中的查找(代码片段)

二维数组中的查找(点击链接进入题目)在一个n*m的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整... 查看详情

剑指offer04.二维数组中的查找(代码片段)

LeetCode_剑指Offer04.二维数组中的查找一、题目描述二、示例描述三、解法分析04.二维数组中的查找一、题目描述在一个n*m的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请... 查看详情

有序二维数组中的查找

  一个二维数组,每一行按照从左到右递增,每一列按照从上到下递增,查找数组中是否存在某个数。如数组:1 2 8  92 4 9 124 7 10 136 8 11 15思路:  这道题有其特殊性,从... 查看详情

剑指offer二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。/*  思路一种是:  把每一行... 查看详情