最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)楊氏矩陣查找

 更新時間:2019年03月02日 08:47:17   作者:ZzzMxin  
這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)楊氏矩陣查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python實現(xiàn)楊氏矩陣查找的具體代碼,供大家參考,具體內(nèi)容如下

問題描述:

在一個m行n列二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和一個整數(shù),判斷數(shù)組中是否含有該整數(shù)。有則返回1,無則返回0,輸入錯誤返回input error

問題分析:根據(jù)楊氏矩陣的規(guī)律可知,左上角是最小元素,右下角是最大元素,進(jìn)行比較一次只能排除一個。而利用左下角或者右上角對比,一次可以排除一行或一列。

AC代碼以右上角為例:

  • 當(dāng)右上角大于要查找的數(shù)字時,排除一行;
  • 當(dāng)右上角大于要查找的數(shù)字時,排除一列;
  • 相等則返回1
  • 全部查找失敗則返回0

代碼如下:

# coding=utf-8
import sys

def solve():
  try:
    # 獲取行(n)和列(m)
    a = sys.stdin.readline().split()
    n, m = int(a[0]), int(a[1])
    arr = []
    for i in range(n):
      # 列表模擬二維數(shù)組
      p = list(map(int, sys.stdin.readline().split()))
      arr.append(p)
    # 獲取要查找的數(shù)
    s = int(sys.stdin.readline().strip())
    i = 0
    j = m - 1
    while i<n and j>=0:
      if arr[i][j] == s:
        # 相等返回1查找成功
        return 1
      elif arr[i][j] < s:
        # 小于要查找的元素,行加1
        i += 1
      else:
        # 大于要查找的元素,列加1
        j -= 1
    return 0
  except Exception:
    return "input error"


if __name__ == "__main__":
  print(solve())

如有疑問,歡迎交流和指正。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

香港 | 三门县| 林州市| 南澳县| 依兰县| 乌鲁木齐市| 铜山县| 中超| 新龙县| 宁国市| 广河县| 宽城| 沧州市| 顺平县| 民权县| 江源县| 武功县| 台前县| 万山特区| 惠州市| 靖宇县| 周宁县| 新龙县| 中方县| 余干县| 临清市| 施秉县| 富平县| 凭祥市| 益阳市| 屏南县| 高平市| 会泽县| 南丹县| 上林县| 霍城县| 龙陵县| 岢岚县| 蓝山县| 射阳县| 临朐县|