二维数组中的查找

原创 2015年11月17日 20:20:42

题目描述

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

思路:首先我们选择从左下角开始搜寻,为什么不从左上角开始搜寻,左上角向右和向下都是递增,那么对于一个点,对于向右和向下会产生一个岔路;如果我们选择从左下脚开始搜寻的话,如果大于就向右,如果小于就向下。

C/C++代码如下:

class Solution {
public:
    bool Find(vector<vector<int> > array,int target) {
        int m = array.size(), n = array[0].size();
        for(int i = m - 1; i >= 0; i--) {
            for(int j = 0; j < n; j++) {
                if(target == array[i][j]) {
                    return true;
                }
                else if(target < array[i][j]) {
                    break;
                }
            }
        }
        return false;
    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

剑指offer面试题:二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析:看到这个问题,我们...
  • L_XRUI
  • L_XRUI
  • 2016年06月18日 16:20
  • 455

二维数组中的查找,杨氏矩阵

题目:    在一个二维数组中,每行都按照从左到右的递增的顺序排序。每列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个数组和一个数,判断数组中是否包含这个数。例如:二维数组1 2 34 ...

递归分治算法之二维数组二分查找(Java版本)

/** * 递归分治算法学习之二维二分查找 * @author Sking 问题描述: 存在一个二维数组T[m][n],每一行元素从左到右递增, 每一列元素从上到下递增,现在需要查找元素X(必在...

《剑指offer》——二维数组中的查找 和 替换空格

《剑指offer》——二维数组中的查找 和 替换空格

剑指Offer_面试题03_二维数组中的查找

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

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

问题题目:[二维数组中的查找]思路蛮力法肯定可以做。 但是考虑有序的特性,所以,二分查找。 但是,我做的是否还是犯了错误。那证明这题出的很成功嘛! 因为我是认为这个数组是这样的: 1.0 2....

【编程题目】二维数组中的查找(C++实现)

题目描述:在一个二维数组中,每一行按照从左至右递增的顺序排列,每一列按照从上至下递增的顺序排列。输入一个数字,判断数组中是否存在该数字。 一、分析       对于这个问题,一种很简单粗暴的方法就是...

剑指Offer面试题3(Java版):二维数组中的查找

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

【LeetCode】Search a 2D Matrix && 【九度】题目1384:二维数组中的查找

Search a 2D Matrix Total Accepted: 4984 Total Submissions: 16715 My Submissions Write an efficient ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二维数组中的查找
举报原因:
原因补充:

(最多只允许输入30个字)