怎么用python做随机矩阵(python实现杨氏矩阵查找)
类别:脚本大全 浏览量:2680
时间:2022-01-16 00:57:30 怎么用python做随机矩阵
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
您可能感兴趣
- python3函数的使用方法(Python3.5基础之函数的定义与使用实例详解参数、作用域、递归、重载等)
- python数据分析pandas教程(11个Python Pandas小技巧让你的工作更高效附代码实例)
- 抖音上很火的表白程序链接(我喜欢你 抖音表白程序python版)
- python多线程超时设置(解决python线程卡死的问题)
- python串口怎么使用(使用Python3+PyQT5+Pyserial 实现简单的串口工具方法)
- python怎么爬取excel数据(python爬取内容存入Excel实例)
- python批量转换图片格式(利用Python对文件夹下图片数据进行批量改名的代码实例)
- 最简单python的100个代码(20条非常实用的Python代码实例)
- python代码词频分析(python实现词法分析器)
- 用python怎么找工作(利用python如何在前程无忧高效投递简历)
- pythonmatplotlib怎么画区域(python matplotlib实现双Y轴的实例)
- python3.7标准库官方手册(Python3.7 dataclass使用指南小结)
- 用python如何写tkinter(浅谈python3.6的tkinter运行问题)
- python mysql配置(详解python校验SQL脚本命名规则)
- python将字符串转换为时间格式(Python时间和字符串转换操作实例分析)
- python抓取天气数据(Python实战之制作天气查询软件)
- 八月再见 愿你岁月不扰,余生静好(八月再见愿你岁月不扰)
- 赏读 八月再见,九月你好(赏读八月再见九月你好)
- 散文 八月再见,九月,我在风中等你(散文八月再见九月)
- 8月再见 9月你好(8月再见)
- 魔兽世界 设计师爆料,原始版本并无PVP,跨阵营属于返璞归真(魔兽世界设计师爆料)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
热门推荐
- mysql数据库延时监控(Mysql sql慢查询监控脚本代码实例)
- mysql 建表命令注释(mysql alter table命令修改表结构实例详解)
- vue 路由的两种模式(Vue3使用路由VueRouter4的简单示例)
- access区分登录身份的代码(妙用.htaccess隐藏网页文件扩展名)
- vue和springboot分页开发实现(解决Vue+SpringBoot+Shiro跨域问题)
- 移除VS项目的TFS版本控制
- mysql从入门到实践万字详解(mysql基础知识扫盲)
- SQL Server多列索引
- python响应处理post请求(Python3模拟curl发送post请求操作示例)
- 最低成本搭建云服务器(云服务器搭建难不难?企业云服务器搭建流程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9