面试题 10.09. 排序矩阵查找
面试题 10.09. 排序矩阵查找
给定M×N矩阵,每一行、每一列都按升序排列,请编写代码找出某元素。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]
]
给定 target = 5,返回 true。
给定 target = 20,返回 false。
题解1(暴力for循环):
class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:for row in matrix:for value in row:if value == target:return Truereturn False
题解2:
从右上角的元素出发:
(1)如果当前元素>目标值,说明这一列都大于目标值,向左移动一列
(2)如果当前元素<目标值,说明这一列其他的元素有可能是目标值,向下移动一行
终止条件: 找到了目标元素 或者 行或列越界
class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:if not len(matrix) or not len(matrix[0]): #特判一下矩阵为空的情况return Falserow = 0col = len(matrix[0]) - 1while row != len(matrix) and col != -1:if matrix[row][col] > target:col -= 1elif matrix[row][col] < target:row += 1 else:return Truereturn False
面试题 10.09. 排序矩阵查找相关推荐
- Leetcode每日一题:10.09.sorted-matrix-search-lcci(排序矩阵查找)
思路:和之前的矩阵查找几乎一模一样,从右上角开始遍历,如果matrix[x][y]>target,则y–,如果matrix[x][y]<target,则x++,这样往复直到找到target ...
- python【力扣LeetCode算法题库】面试题 10.01-合并排序的数组
面试题 10.01. 合并排序的数组 给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B. 编写一个方法,将 B 合并入 A 并排序. 初始化 A 和 B 的元素数量分别为 m ...
- 数据结构:下列选项中,不可能是快速排序第2趟排序结果的是(2019年全国试题10)
题目 排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一"趟".下列排序中,不可能是快速排序第二趟结果的是()[2019年全国试题10(2分)] A. 5, 2, 16, ...
- 面试题 10.01. 合并排序的数组
面试题 10.01. 合并排序的数组 思路:①把B数组放在A数组后面,然后排序.O((n+m)²),太蠢了代码不写 ②copyA数组,然后两个指针判度copyA,和B的值那个小,小的放在A数组中,然后 ...
- Leetcode面试题 10.01. 合并排序的数组(C语言)
Leetcode面试题 10.01. 合并排序的数组(C语言) 题目: 给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B. 编写一个方法,将 B 合并入 A 并排序.初始化 ...
- python面试题-输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母
题目: 输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母(k>=1) 输入要求: 第一行输入大小写组成的字符串 第二行输入k, k必须 ...
- 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试五十题(10.09)
九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试五十题 (欢迎加入十月面试题集训组,参与讨论&解题:193308452) 引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久), ...
- StringBuffer+排序+二分查找+包装类+正则表达式+常用类
一.StringBuffer 1.概述 我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间.而StringBuffer就可以解决这个问题StringBuffe ...
- 编程艺术第二十三~四章十一续:杨氏矩阵查找,倒排索引关键词Hash编码
第二十三.四章:杨氏矩阵查找,倒排索引关键词Hash不重复编码实践 作者:July.yansha.编程艺术室出品. 出处:结构之法算法之道. 前言 本文阐述两个问题,第二十三章是杨氏矩阵查找问题,第二 ...
最新文章
- TypeScript interface
- 2016/05/03(接口 买票 临界资源同步锁)
- 关于cocostudio动态添加控件触摸响应无效的学习
- 工业交换机厂家有哪些,国产工业交换机品牌排行榜
- 操作系统课设之简单 shell 命令行解释器的设计与实现
- ​苏宁回应股权质押给淘宝:正常合作;苹果App Store被越狱商店指控垄断;Docker 20.10.0发布|极客日报...
- 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_01.mybatis课程介绍
- 利用ajax查询数据库显示在前台,ajax动态查询数据库数据并显示在前台的方法
- ssm+共享图书管理系统 毕业设计-附源码151121
- vue 读取shapefile文件转成GeoJson
- 小程序分类图标提取_微信全国垃圾分类小程序上线,一键搜索轻松分类垃圾
- 计算机折线图教程,excel怎么插入折线图 excel怎么将多个折线图合并
- 搜狗收录查询工具,搜狗收录就应该这么做
- 另眼看待 qq 和 360. 资本运作
- 算法(9)汉诺塔图解及其代码实现
- 计算机考研专业课838考什么,17年管理学838专业课初试110分经验贴
- 【目标检测】目标检测中常见的评价指标
- MLAT-Autoencoders for Conditional Risk Factors and Asset Pricing---上篇
- 怎么将iMindMap制作的思维导图转换为甘特图?
- 免裁券也不灵?360被曝开始“裁员”,比例达15%到20%
热门文章
- 【案例】复制静止问题一则
- JAVA IO - RandomAccessFile
- 管理表空间和数据文件——建立表空间——建立字典管理表空间和建立加密表空间...
- OSPF(Open Shortest Path First)开放式最短路径优先协议05
- 【排序+难题】LeetCode 41. First Missing Positive
- LeetCode 100. Same Tree
- Batch Normalization的意义
- tensorflow/pytorch 设置GPU的使用
- RabbitMQ学习笔记(二) 工作队列
- Storm计算结果是怎样存放的