题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 时间限制:1秒 空间限制:32768K 热度指数:1448982 本题知识点: 查找 数组 1.全局顺序查找 运行时间:446ms 占用内存:5636k #思路:一行一行顺序查找# -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target, array): # write code here for i in range(len(array)): for j in range(len(array[0])): if target > array[i][j]: print("continue:",i,array[i][j]) continue elif target == array[i][j]: print("true:",array[i][j]) return True return False 2.根据数据规律快速查找 运行时间:364ms 占用内存:5752k # -*- coding:utf-8 -*- ''' 思路 矩阵是有序的,从左下角来看,向上数字递减,向右数字递增, 因此从左下角开始查找,当要查找数字比左下角数字大时。右移 要查找数字比左下角数字小时,上移 ''' class Solution: # array 二维列表 def Find(self, target, array): # write code here rownum,colnum = len(array),len(array[0]) print(rownum,colnum) i,j = rownum-1,0 while i >= 0 and j < colnum: print(i,j,array[i],array[j]) if array[i][j] == target: return True elif array[i][j] > target: i -= 1 elif array[i][j] < target: j += 1 return False 相关文章: 2021-10-12 2021-12-04 2021-11-08 2022-12-23 2021-05-03 2022-01-11 2021-06-06 2021-06-17