首页 > 其他分享 >剑指 Offer 04. 二维数组中的查找(中等)

剑指 Offer 04. 二维数组中的查找(中等)

时间:2023-08-03 21:47:06浏览次数:43  
标签:target 04 Offer int 查找 左下角 matrix

题目:

class Solution {
public:
    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {  
        int i=matrix.size()-1,j=0;                 //以矩阵最左下角作为标记符号
        while(i>=0&&j<matrix[0].size()){
            if(matrix[i][j]>target)i--;            //左下角元素大于target时,删除这一整行(这一行都比target大)
            else if(matrix[i][j]<target)j++;       //左下角元素小于target时,删除这一整列(这一列都比target小)
            else return true;                      //相等则找到
        }
        return false;            //删光了,没找着
    }
};

以上代码转自力扣讨论区

标签:target,04,Offer,int,查找,左下角,matrix
From: https://www.cnblogs.com/fly-smart/p/17604546.html

相关文章

  • 二分查找模板
    二分法模板链接:•循环条件到底哪一个? •start<=end •start<end •start+1<end•指针变换到底哪一个 •start=mid •start=mid+1 •start=mid-1弄不好就死循环,弄不好边界就失误例:nums=[1,1],target=1使用start<end会出现死循环......
  • 剑指 Offer 50. 第一个只出现一次的字符(简单)
    题目:classSolution{public:charfirstUniqChar(strings){charresult='';//如果没找到返回空格vector<int>dic(26,0);//创建一个26个字母的字典,记录每个字母在s中出现的次数for(autoss:s){dic[ss-'a']++;......
  • 剑指 Offer 11. 旋转数组的最小数字(简单)
    题目:classSolution{public:intminArray(vector<int>&numbers){intresult=numbers[0];//当旋转0个元素时第一个元素就是最小值if(numbers.size()==1)returnresult;for(inti=1;i<numbers.size();i++){//通过观......
  • x86_64 ubuntu22.04环境下编译版本python3.13.0 alpha 0源码——python3.13.0 alpha 0
      python3.13.0alpha0版本源码编译: 环境——x86_64ubuntu22.04系统: 1.源码下载:gitclonehttps://github.com/python/cpython 2.修改apt源地址:编辑文件:sudovim/etc/apt/sources.list添加内容:deb-srchttp://archive.ubuntu.com/ubuntu/jammymain......
  • 504 Gateway Time-out
       现状:nginx代理某api接口,业务是统计一年数据,计算量较大,耗时2分钟,导致页面返回504 http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeoutSyntax:proxy_read_timeout time;Default:proxy_read_timeout60s;Context:http, serv......
  • ubuntu18.04安装nodejs最新版、指定版 12.x 14.x
    ubuntu18.04安装nodejs最新版、指定版12.x14.x 今天准备在ubuntu服务器里面安装nodejs版本,ubuntu18.04仓库nodejs默认是8.x版本。1.通过apt安装nodejs在Ubuntu18.04的默认仓库包含了一个Node.js的版本,截至当前,该仓库的node.js版本是8.10.0。要安......
  • JavaScript基础04
    函数函数定义function自定义函数名(){ 函数体代码;}//函数名命名:1.与变量名规则基本上是一样的!2.建议变量名使用名词,函数名用动词3.大小写敏感4.普通函数使用小驼峰,不要首字母大写5.首字母大写的函数一般用作自定义构造函数函数调用自定义函数名();匿名......
  • 剑指 Offer 17. 打印从1到最大的n位数
    输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数999。示例1:输入:n=1输出:[1,2,3,4,5,6,7,8,9]无脑classSolution{publicint[]printNumbers(intn){intend=(int)Math.pow(10,n)-1;......
  • Java后端04(Ajax异步加载)
    Ajax异步加载jsp涉及到的问题每次哪怕是页面的局部修改,都会导致服务器重新获取,页面的所有信息,导致jsp页面的效率非常低下前端jsp页面无法脱离服务器运行前端和后端无法分离开发,开发效率低下Ajax介绍​ Ajax是由谷歌开发,底层是通过js开发的技术,如果页面内容只是局部......
  • Linux文件管理知识查找文件
    Linux文件管理知识:查找文件前几篇文章一一介绍了LINUX进程管理控制命令及网络层面的知识体系,综所周知,一个linux系统是由很多文件组成的,那么既然有那么多文件,那我们该如何管理这些文件呢?Linux中的所有数据都是以文件形式存在的,那么所有文件分别被归类到不同的文件系统中。而文件系......