系列文章目录
前言
一、JZ4二维数组中的查找
描述: 在一个二维数组array中(每一个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增
的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
示例1
输入:
7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
返回值:
tru
说明:存在7,返回true
示例2
输入:
1,[[2]]
返回值:
false
示例3
输入:
3,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
返回值:
false
说明:不存在3,返回false
二、sound code
代码如下(示例):
from typing import List
class Solution:
def Find(self , target: int, array: List[List[int]]) -> bool:
# 优先判断特殊
if len(array) == 0:
return False
n = len(array)
if len(array[0]) == 0:
return False
m = len(array[0])
i = n-1
j = 0
# 从最左下角的元素开始往左或往上
while i >=0 and j < m:
# 元素较大,往上走
if array[i][j] > target:
i -= 1
# 元素较小,往右走
elif array[i][j] < target:
j += 1
else:
return True
return False
总结
分享:
不要悖逆自身的优势去做难以完成的事,现实中面临此类失策之举者大有人在。即使工作环境一时与自身优势有所不合,亦可积蓄潜力,力求于本职中创出一个发挥自身优势的微环境来。