剑指Offer(一):二维数组中的查找

  • 6
  • 1,545 °C
  • A+
所属分类:剑指Offer
摘要

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

剑指Offer(一):二维数组中的查找

一、前言

本系列文章为《剑指Offer》刷题笔记。

刷题平台:牛客网

书籍下载:共享资源

二、题目

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

1、思路

首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数组,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。也就是说如果要查找的数字不在数组的右上角,则每一次都在数组的查找范围中剔除一行或者一列,这样每一步都可以缩小查找的范围,直到找到要查找的数字,或者查找范围为空。

2、举例

如果在一个二维数组中找到数字7,则返回true,如果没有找到,则返回false。

剑指Offer(一):二维数组中的查找

查找过程如下:

剑指Offer(一):二维数组中的查找

3、编程实现

C++:

Python2.7:

Jack Cui

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:6   其中:访客  4   博主  2

    • avatar skldecsdn 来自天朝的朋友 谷歌浏览器 Windows 7 湖北省武汉市 华中师范大学 4

      我见师兄们找工作时也在刷这个,博主知道leetCode吗?牛客网上的和leetCode对比如何呢?

        • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 10 辽宁省沈阳市 联通

          @skldecsdn leetcode是外国的,适合于长期刷题,锻炼编程思维。
          牛客网是国内的,适合在找工作期间使用,更有针对性。

            • avatar skldecsdn 来自天朝的朋友 谷歌浏览器 Windows 7 湖北省武汉市 华中师范大学 4

              @Jack Cui 哦,酱紫啊,明白了明白了。

          • avatar Lau 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市 联通 1

            大神,请问找关于数据挖掘的实习应该在牛客网上刷什么样的题呢

              • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器  Android 7.1.1 MIX 2 Build/NMF26X 辽宁省沈阳市 联通GSM/WCDMA/LTE共用出口

                @Lau 都一样,都是这些基础题。

                  • avatar 无敌的史迪仔 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市 联通 1

                    @Jack Cui 谢谢!会好好努力的,以你为学习对象哈哈