二维数组的查找——剑指offer第一题

Posted carol-main-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组的查找——剑指offer第一题相关的知识,希望对你有一定的参考价值。

 

题目描述:

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

设计思路:

 

  1. 遍历所有行
  2.       遍历行中的每个元素
  3.             判断元素值是否与给定的target值相等
  4.                       相等返回True
  5.             判断元素是否大于给定target值(比target值大的话跳出循环)
  6. 遍历完没有返回false

代码:

         

 1 import numpy as np
 2 class Solution:
 3     # array 二维列表
 4     def Find(self, target, array):
 5         len_line= len(array)
 6         len_colum = len(array[0])
 7         #遍历每一行
 8         for i in range(len_line):
 9             for j in range(len_colum):
10                 if array[i][j] == target:
11                     return True
12                 elif array[i][j] >target:break
13         return False
14 
15 list = [[1,2,3],[4,5,6],[7,8,9]]
16 array = np.array(list)
17 target = int(input())
18 s = Solution()
19 judge = s.Find(target,array)
20 print(judge)

 

 

 

 

卡住的问题点:

    久久无法解决二维数组的键盘输入问题

技术图片

 

 解决:

 

以上是关于二维数组的查找——剑指offer第一题的主要内容,如果未能解决你的问题,请参考以下文章

二维数组的查找——剑指offer第一题

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

剑指offer第一题:二维数组的查找(python)

《剑指Offer 1.二维数组中的查找》2019-03-25

剑指offer 二维数组的查找

剑指offer第一层