二维数组的查找——剑指offer第一题
Posted carol-main-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组的查找——剑指offer第一题相关的知识,希望对你有一定的参考价值。
题目描述:
- 在一个二维数组中(每个一维数组的长度相同),
- 每一行都按照从左到右递增的顺序排序,
- 每一列都按照从上到下递增的顺序排序。
- 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
设计思路:
- 遍历所有行
- 遍历行中的每个元素
- 判断元素值是否与给定的target值相等
- 相等返回True
- 判断元素是否大于给定target值(比target值大的话跳出循环)
- 遍历完没有返回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第一题的主要内容,如果未能解决你的问题,请参考以下文章