码迷,mamicode.com
首页 > 其他好文 > 详细

杨氏矩阵查找

时间:2017-08-27 00:14:37      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:一个   def   frame   taf   style   函数   python   code   index   

在一个m行n列二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维
数组和一个整数,判断数组中是否含有该整数。
使用Step-wise线性搜索。
```python
def get_value(l, r, c):
return l[r][c]
def find(l, x):
m = len(l) - 1
n = len(l[0]) - 1
r = 0
c = n
while c >= 0 and r <= m:
value = get_value(l, r, c)
if value == x:
return True
elif value > x:
c = c - 1
elif value < x:
r = r + 1
return False
```
例如:

pds=pd.DataFrame([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25],[26,27,28,29,30],[31,32,33,34,35]]) print(pds) # print(len(pds.index)) # print(len(pds.columns)) #找24 def get_value(pds,c,i): return pds[c][i] # def find(n,pds): # c=len(pds.columns)-1 # i=len(pds.index)-1 # cc=0 # ii=i # while ii>=0 and cc<=c: # if n==get_value(pds,cc,ii): # return True # if n<get_value(pds,cc,ii): # ii-=1 # if n>get_value(pds,cc,ii): # cc+=1 def find(n,pds): c=len(pds.columns)-1 i=len(pds.index)-1 cc=c ii=0 while ii<=i and cc>=0: if n==get_value(pds,cc,ii): return True if n<get_value(pds,cc,ii): cc-=1 if n>get_value(pds,cc,ii): ii+=1 print(find(24,pds))

 

杨氏矩阵查找

标签:一个   def   frame   taf   style   函数   python   code   index   

原文地址:http://www.cnblogs.com/chedanlangren/p/7436721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!