1、题目描述:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
2、思路:
每一次选取数组查找范围内的右上角数字或者左下角数字。
3、代码:
class Solution: def Find(self,target, arr): i=len(arr) j=len(arr[0]) x=0 y=int(j-1) flag=0 while(flag==0): if x<i and y>=0: if arr[x][y]==target: flag=1 print (x,y) elif arr[x][y]<target: x=x+1 else: y=y-1 else: break if flag==1: #print ("True") return (True) else: #print ("False") return (False) t=7 a=[[1,2,3,4],[5,6,7,8]] Solution().Find(t,a)
4、Q&A
循环和边界的判定出现了问题,导致编译器崩溃!