剑指offer-二维数组中的查找-数组-python
2024-09-02 12:56:25
题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:
首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。也就是说如果要查找的数字不在数组的右上角,则每一次都在数组的查找范围中剔除一行或者一列,这样每一步都可以缩小查找的范围,直到找到要查找的数字,或者查找范围为空。
# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
#rows行
rows = len(array) - 1
cols = len(array[0]) - 1
i = rows
j = 0
while j<=cols and i>=0:
if target < array[i][j]:
i -= 1
elif target > array[i][j]:
j += 1
else:
return True
return False
最新文章
- Java程序内存的简单分析
- SQL Server 无法在服务器上访问指定的路径或文件解决方法
- Ubuntu 14.04 使用的一些笔记
- initWithFrame方法的理解
- mysql复制表数据或表结构到新表中
- iOS搜索指定字符在字符串中的位置
- nginx里的sticky的作用
- angular.js学习笔记(一)
- 使用Mycat构建MySQL读写分离、主从复制、主从高可用
- Qt支持哪些硬件通信协议???
- MVCC(Multi-version Cocurrent Control)多版本并发控制协议
- 上传文件代码报错,java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
- C# 6.0:Auto-Property initializer
- 基础篇:1.JavaScript运行在html中,引用有几种方式?—— 6.js中常用的输出方式?
- openshift 容器云从入门到崩溃之八《日志聚合》
- L1-033	出生年
- Grunt、Gulp区别 webpack、 requirejs区别
- 2018年5月6日GDCPC (广东赛区)总结
- 对怎样充分利用安卓官方开发网站的一个简单性介绍介绍-https://developer.android.google.cn/docs/
- Cent OS 常用命令搜集
热门文章
- css @keyframes属性 语法
- cocos2d 15款游戏源码
- EasyUI combobox下拉框添加水平滚动条和垂直滚动条
- Django REST framework的解析器与渲染器
- Sensor在内核中的驱动框架【转】
- 【洛谷T89379 【qbxt】复读警告】
- 你的第一个Quartz程序
- Advanced Message Queuing Protocol ( 1 ) 概述
- 那些年我们经历的BT面试题
- 阶段3 1.Mybatis_12.Mybatis注解开发_4 mybatis注解开发CRUD的其他操作