在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
def Find(self, target, array): # write code here row = len(array)-1 col = 0 while row >= 0 and col <= len(array[0])-1: # 从左下角判断,如果比左下角元素小,则行-1;若比左下角元素大,则列+1 if array[row][col] == target: return True elif array[row][col] > target: row -= 1 else: col += 1 return False
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
class Solution { public: bool Find(int target, vector<vector<int> > array) { int row = array.size()-1; int col = 0; while(row >= 0 && col < array[0].size()){ if (array[row][col] == target) return true; else if (array[row][col] > target) row--; else col++; } return false; } };