牛客网-剑指offer刷题记录-1二维数组中的查找

题目描述

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。

请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

思路:

暴力遍历,用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'>

猜你喜欢

转载自blog.csdn.net/scottzeg/article/details/81587597