标签:print 否则 二维 获取 输入 sel odi 整数 算法
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
实现思路:由于行列都为递增排序,所以可以从左下角开始比较查询,若目标值target大于该数,则将查询位置右移,否则上移,即可达到查询目的。
代码:
1 #_*_coding:utf-8_*_ 2 3 class Solution: 4 # array 二维列表 5 def Find(self, target, array): 6 # write code here 7 m = len(array)-1 #当前行数,从零开始 8 n = len(array[0])-1 #获取二维列表的列数 9 i = 0 #当前列数 10 while m>=0 and i<=n: 11 if array[m][i] > target: 12 m = m - 1 13 print m,i 14 elif array[m][i] < target: 15 i = i + 1 16 else: 17 return True 18 return False 19 20 solution = Solution() 21 array = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]] 22 target = 20 23 print solution.Find(target,array)
标签:print 否则 二维 获取 输入 sel odi 整数 算法
原文地址:http://www.cnblogs.com/gongnanblog/p/6410456.html