重新把数据结构与算法好好扎实的学一遍,一定要养成自己好好写代码的习惯!
就从剑指offer的第一题开始吧!0509
二维数组中的查找
题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
def Find(target, array):
# write code here
#思路:
#从最左下角开始比较,比起大,向右比较,列坐标加一,比起小,横坐标减一。结束条件,,如果直到下标有一个为负值还没找到,则返回没有
#获取数组的大小
row_len=len(array)
column_len=len(array[0])
row=row_len-1
column=0
while row>=0 and column<column_len:
if target==array[row][column]:
return True
elif target>array[row][column]:
column+=1
else:
row-=1
if row <0 or column==column_len:
return False
arrays=[[1,2,3],[4,5,6],[5,7,9]]
result=Find(20,arrays)
print(result)
本文介绍了一个二维数组查找算法,该算法在一个每一行和每一列都按递增顺序排序的二维数组中查找特定整数。通过从左下角开始比较目标值,如果目标值大于当前值则向右移动,如果小于则向上移动,直至找到目标值或遍历完整个数组。
8万+

被折叠的 条评论
为什么被折叠?



