python刷题日记:剑指offer-二维数组的查找
2018-03-28 21:57
381 查看
题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:这题肯定不能按顺序暴力破解....想了想发现从右上角或左下角开始搜索最好,这样比较大小时,移动的方向不会有重叠,减小循环量(若其中有值的话),后来看了大神们的代码,感觉还是需要有所简化。我的代码:# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
rows = len(array)
cols = len(array[0])
row = 0
col = cols-1
while row<=rows-1 and col>=0:
if array[row][col]==target:
return True
break
if array[row][col]<target:
row+=1
else :
col-=1
return False
另外,优化的代码
# -*- coding:utf-8 -*- classSolution: # array 二维列表 defFind(self, target, array): # write code here n=len(array) flag='false' fori inrange(n): iftarget inarray[i]: flag='true'; break returnflag whileTrue: try: S=Solution() # 字符串转为list L=list(eval(raw_input())) array=L[1] target=L[0] print(S.Find(target, array)) except: break
相关文章推荐
- 【剑指Offer】二维数组中的查找 解题报告(Java & Python)
- 剑指offer 算法1 二维数组中的查找(python)
- 《苦练算法》-剑指Offer- 一、 二维数组中的查找 -python编写
- 剑指offer之二维数组中的查找(Python)
- 剑指Offer之1384:二维数组中的查找
- 剑指offer之面试题3:二维数组的查找
- 剑指Offer学习之面试题3 :二维数组中的查找
- 剑指offer--面试题3:二维数组的查找--Java实现
- 剑指offer---二维数组中的查找
- 剑指offer面试题3:二维数组中的查找
- 牛客网-剑指Offer-二维数组的查找
- 剑指OFFER之二维数组中的查找(九度OJ1384)
- 『剑指 offer 学习笔记』「面试题 3:二维数组中的查找」
- 剑指offer------003(二维数组中查找整数)
- 剑指offer--二维数组中的查找
- 【面试题】剑指Offer-3-在二维数组中进行查找
- 剑指offer | 有序二维数组查找
- [剑指offer]面试题3:二维数组中的查找
- 【剑指offer】二维数组中的查找
- 剑指Offer-【面试题03:二维数组中的查找】