本文首发于我的个人博客Suixin’s Blog
原文: https://suixinblog.cn/2019/02/target-offer-array-find.html 作者: Suixin
题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解题思路
题目中说了是二维数组和整数,所以不需要考虑非法输入(包含字符串等);但需要判断二维数组是否为空。
从每行最后一个数判断起,相等直接返回True
,小于就循环到下一行,大于就在该行查找,全部找完没找到就返回False
。
代码
Python(2.7.3)
# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
for row in array:
if not row:
break
if row[-1] == target:
return True
elif row[-1] < target:
continue
else:
for col in row[:-1]:
if col == target:
return True
return False
运行时间:343ms
占用内存:5836k
网友评论