牛客网-剑指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'>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值