题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:
暴力遍历,用python自带的函数,遍历每一维数组,确认目标整数是否在该维数组中
代码如下:
# -*- coding:utf-8 -*-
class Solution:
def Find(self, target, array):
flag = 'false'
for i in range(len(array)):
if target in array[i]:
flag = 'true'
break
return flag
while True:
try:
s = Solution()
L = list(eval(raw_input()))
array = L[1]
target = L[0]
print s.Find(target,array)
except:
break
总结:
1、while True 函数的使用:
该函数可以认为是while函数,即满足条件无限循环,但区别在于,循环过程中如果遇到运行异常,会自动中断,另外从时间上来说效率更高。
2、eval 函数的使用:
eval函数本质是对字符串中表达式的计算,例如:
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
除此之外还有一个功能,即消去字符串的引号,恢复引号内的原格式,例如:
>>>str1 = "[{11,22},{22,33},{33,44},{44,55}]"
>>>type(str1)
<class 'str'>
>>>list1 = eval(str1)
>>>list1
[{11,22},{22,33},{33,44},{44,55}]
>>>type(list)
<class 'list'>