python实现杨氏矩阵查找
作者:ZzzMxin 发布时间:2021-09-28 15:03:26
标签:python,杨氏矩阵,查找
本文实例为大家分享了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 数据可视化模块 Matplotlib,并试图对其进行一个详尽的介绍。通过阅读本文,你可以:了解什么是 Matplo
- 首先我们要在邮箱的设置中开通那个POP3然后我们要导入这些包import poplibfrom datetime import dateti
- 服务端渲染及session鉴权服务端渲染服务端渲染简单来说就是前端页面是由服务器通过字符串拼接动态生成的,客户端不需要额外通过Ajax请求参
- 最近看到了两行 JavaScript 代码,很受启发。1. 封装 DOM 属性在 JavaScript 中,我们可以获取HTML元素的属性值
- 如下所示:from win32com.client import constantsimport osimport win32com.cli
- 本文实例讲述了Python内存管理。分享给大家供大家参考,具体如下:a = 1a是引用,1是对象。Python缓存整数和短字符串,对象只有一
- 本文实例讲述了Python基于回溯法子集树模板解决全排列问题。分享给大家供大家参考,具体如下:问题实现 'a', '
- 自从2005年8月11日阿里巴巴宣布收购雅虎中国的全部资产后,做为阿里巴巴集团的创始人马云心里盘算的事应该是如何把雅虎中虎整合进阿里巴巴这个
- 测试1deco运行,但myfunc并没有运行def deco(func): print 'bef
- 最近想把word密码文件的服务器密码信息归档到mysql数据库,心想着如果直接在里面写明文密码会不会不安全,如果用sha这些不可逆的算法又没
- 思路懒得写了.依赖python-nmap,先在电脑上装nmap,不然用不了.openpyxl实际上没有用到,可以不安装.makeEx()没用
- 1.对于一维数组,可以有:2. 对于二维数组:考虑可将其看作为矩阵,故可以如下书写二重遍历 这里外层循环的是二维数组A的行,内层则
- pickle 是一个 python 中, 压缩/保存/提取 文件的模块,字典和列表都是能被保存的.但必须注意的是python2以ASCII形
- 一.图像漫水填充图像漫水填充(FloodFill)是指用一种特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效
- 本文实例讲述了php控制文件下载速度的方法。分享给大家供大家参考。具体实现方法如下:<?php /* * set here a lim
- 应用场景域名资产监控,通过输入一个主域名,找到该域名对应的ip地址所在的服务器的端口开闭情况。通过定期做这样的监控,有助于让自己知道自己的资
- ./当前目录 /网站主目录 ../上层目录 ~/网站虚拟目录 如果当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\wwwroo
- 颜色搭配是件头疼的事,工作空隙,利用range做个简单的手动调色,可得到rgb值和相应的十六进制色值。因为用到range标签,建议使用搜狗、
- 合并两个数组 - concat()源代码:<!DOCTYPE html><html><body><
- JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。 JSON