python实现杨氏矩阵查找

作者:ZzzMxin 时间:2021-09-28 15:03:26 

本文实例为大家分享了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())

如有疑问,欢迎交流和指正。

来源:https://blog.csdn.net/qq_34178562/article/details/79648265

标签:python,杨氏矩阵,查找
0
投稿

猜你喜欢

  • 两种与SQL Server数据库交换数据的方法

    2008-12-10 15:39:00
  • Oracle9iPL/SQL编程的经验小结

    2010-07-23 12:49:00
  • Python3删除排序数组中重复项的方法分析

    2023-02-16 19:17:50
  • 使用mysqldump导入数据和mysqldump增量备份(mysqldump使用方法)

    2024-01-23 15:44:43
  • Python使用Turtle模块绘制五星红旗代码示例

    2022-03-02 16:17:19
  • Pycharm如何运行.py文件的方法步骤

    2023-03-13 12:32:37
  • spring boot 不连接数据库启动的解决

    2024-01-18 06:38:54
  • python3中获取文件当前绝对路径的两种方法

    2022-04-10 22:36:24
  • 基于Vue实现简单的贪食蛇游戏

    2024-04-27 16:13:17
  • 在python带权重的列表中随机取值的方法

    2022-05-09 01:44:25
  • Python使用cx_Oracle调用Oracle存储过程的方法示例

    2021-01-26 19:37:28
  • 下载 Firefox 3 中文版/英文版

    2008-06-19 13:27:00
  • 详解JavaScript错误捕获

    2024-04-30 09:53:22
  • 如何搜索查找并解决Django相关的问题

    2022-02-12 09:58:51
  • Python纯代码通过神经网络实现线性回归的拟合方式

    2022-07-12 23:54:59
  • Python 实现自动完成A4标签排版打印功能

    2021-07-14 22:55:15
  • Pycharm安装第三方库失败解决方案

    2021-10-09 07:01:39
  • 成功的用户界面的八个特性[译]

    2009-04-20 20:36:00
  • python统计cpu利用率的方法

    2022-02-05 23:33:44
  • Python实现字符串与数组相互转换功能示例

    2021-08-13 15:50:12
  • asp之家 网络编程 m.aspxhome.com