亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現楊氏矩陣查找

發布時間:2020-08-24 17:27:36 來源:腳本之家 閱讀:182 作者:ZzzMxin 欄目:開發技術

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

問題描述:

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

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

AC代碼以右上角為例:

  • 當右上角大于要查找的數字時,排除一行;
  • 當右上角大于要查找的數字時,排除一列;
  • 相等則返回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):
      # 列表模擬二維數組
      p = list(map(int, sys.stdin.readline().split()))
      arr.append(p)
    # 獲取要查找的數
    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())

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开鲁县| 天台县| 宁化县| 兰坪| 孟村| 界首市| 永春县| 柯坪县| 平远县| 和林格尔县| 峨山| 修武县| 罗平县| 吉首市| 临夏市| 南陵县| 雅江县| 二手房| 巩义市| 永泰县| 老河口市| 大邑县| 札达县| 永宁县| 鹤庆县| 伽师县| 垫江县| 南部县| 那坡县| 上饶市| 泰和县| 洪洞县| 黔南| 贞丰县| 塘沽区| 三都| 许昌市| 瑞金市| 昭苏县| 荣成市| 宣威市|