2021-06-24Leetcode240.二维数组中的查找
1.1我的想法:
用二分查找来确定所在的列,找到列之后再用二分查找搜索,
1.2大神的想法
将矩阵逆时针旋转45°,得到数组具有类二叉搜索树的特征,对于顶点的数字,向左边的数字比它小,向右边的数字比它大。
因此如果当前的数字 > target,应该向左下角搜索,为i–
当前顶点数字 < target,应该向右下角搜索,为j++;
(通过调试才明白,这个是从左下角向右上角扫描的程序)
class Solution {public:bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {//注意开头要加上一个对于数组是否为空的判断//否则取matrix[0].size()为非法的int i = matrix.size() - 1, j = 0;while(i >= 0 && j < matrix[0].size()){if(matrix[i][j] > target) i--;else if(matrix[i][j] < target) j++;else return true;}return false;}
};作者:jyd
链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/solution/mian-shi-ti-04-er-wei-shu-zu-zhong-de-cha-zhao-zuo/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2021-06-24Leetcode240.二维数组中的查找相关推荐
- 剑指offer:面试题04. 二维数组中的查找
题目:二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...
- php查找二维数组下标,PHP实现二维数组中的查找算法小结
本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...
- [剑指Offer]5.二维数组中的查找
题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...
- 剑指Offer面试题:2.二维数组中的查找
一 题目:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的二维数组和一个整数判读数组中是否含有该整数. 二 ...
- 算法题001 剑指Offer 面试题三:二维数组中的查找
剑指Offer题目1:二维数组中的查找 题目描述: http://ac.jobdu.com/problem.php?cid=1039&pid=0 在一个二维数组中,每一行都按照从左到右递增的顺 ...
- LeetCode-剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找 思路一:暴力解法,两层for循环查找 时间复杂度为:O(nm) 空间复杂度为:O(1) class Solution {public:bool findNu ...
- 《剑指Offer》——二维数组中的查找(JZ1)C++
文章目录 前言 题目:JZ1 二维数组中的查找 一.暴力解法 二.优化解法 总结 前言 题目:JZ1 二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序, ...
- 剑指Offer #01 二维数组中的查找(Java描述)
题目来源:牛客网-剑指Offer专题 题目地址:二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一 ...
- 面试题4:二维数组中的查找
/******************************************************************* Copyright(c) 2018, htfeng All r ...
- 二维数组中的查找---剑指Offer
二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 代码如下: p ...
最新文章
- 【leetcode】86. Partition List
- 带括号的计算器 java_【福利】java新手做的复合型计算器!
- Linux shell程序一
- linux内核注释目录,linux内核完全注释目录
- 大学物理实验试卷1到8_试卷赠送199:七年级秋季学期期中检测地理试卷及答案...
- HDOJ 1233 (克鲁斯卡尔+并查集)
- Beta 冲刺(2/7)
- jquery中ajax应用——load()函数
- LINUX SHELL中使用sed匹配某一行并替换这一行的内容
- arduino外接SSD1306不显示
- react+ts+gulpjs将插件转成umd.js文件
- 通过Grafana进行监控报警
- autojs各种插件以及教程模板
- 网络会变的有自我意识吗
- opc服务器连接plc断开显示,如何判断OPC与PLC通讯失败
- iOS 开发者账号持有人转让最新方式
- Jquery如何获取当前元素的id?
- Mil代码编程的基本概述
- 解决执行力问题的思路
- 百度地图(BD-09)坐标系和高德(GCJ-02)坐标系的相互转换(PHP版)