首页 > 其他分享 >力扣——240.搜索二维数组II(c语言)

力扣——240.搜索二维数组II(c语言)

时间:2023-04-22 13:55:41浏览次数:47  
标签:力扣 target int II column 240 升序 row matrix

title: 力扣——240.搜索二维数组II(c语言)

同《剑指offer》04

题目描述:

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

每行的元素从左到右升序排列。
每列的元素从上到下升序排列。

示例1:

输入: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

示例2:

输入: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 = 20
输出:false

提示:

m == matrix.length
n == matrix[i].length
1 <= n, m <= 300
-109 <= matix[i][j] <= 109
每行的所有元素从左到右升序排列
每列的所有元素从上到下升序排列
-109 <= target <= 109

代码如下:

bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target){
    if(NULL == matrix){
        return false;
    }
    bool found = false;
    int row = 0;
    int column = matrixColSize[0]-1;
    while(row<matrixSize && column>=0)
    {
        if(target == matrix[row][column]){
            found = true;
            break;
        } else if(target > matrix[row][column]){
            ++row;
        } else{
            --column;
        }     
    }
    return found;
}

执行结果:

通过

显示详情

执行用时:76 ms, 在所有 C 提交中击败了51.45%的用户

内存消耗:9.3 MB, 在所有 C 提交中击败了5.02%的用户

标签:力扣,target,int,II,column,240,升序,row,matrix
From: https://www.cnblogs.com/blue-Suri/p/17342949.html

相关文章

  • 力扣——5.最长回文子串(c语言)
    题目描述:给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例1:输入:"babad"输出:"bab"注意:"aba"也是一个有效答案。示例2:输入:"cbbd"输出:"bb"1、思路1:动态规划对于一个子串而言,如果它是回文子串,并且长度大于2,那么将它首尾两个字......
  • 力扣 406. 根据身高重建队列
    406.根据身高重建队列假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i]=[hi,ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示......
  • iis 设置ssl证书乱窜的解决方案
    iis设置ssl证书乱窜的解决方法:选择iis站点>先导入证书 选择iis站点>编辑绑定>选择https站点>选中需要服务器名称指示 ......
  • 剑指 Offer II 005. 单词长度的最大乘积
    题目链接:剑指OfferII005.单词长度的最大乘积方法:转化为二进制位+位运算解题思路将\(words[i]\)字符串中包含的字母转换为二进制位上的\(1\),字符'a'对应二进制中的第\(0\)位上的\(1\),这样每个字符串就对应一个二进制数。通过两个字符串的二进制数进行'&'运算,......
  • IIS 内存溢出(32位程序运行)
    背景最近新接手了一个项目,服务器正常,用户量也没有变化,不定时出现内存溢出,重启iis或者回收线程就正常了review发现,因为业务原因缓存的东西并没有释放掉,但远远没有达到服务器内存上线,也没有受到预警邮件巴拉很久,发现32位系统存在内存上限为什么32位程序只能使用最大2GB内......
  • 4/21 力扣 82. 删除排序链表中的重复元素 II
    给定一个已排序的链表的头 head, 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回已排序的链表 。 示例1:输入:head=[1,2,3,3,4,4,5]输出:[1,2,5]示例2:输入:head=[1,1,1,2,3]输出:[2,3] 提示:链表中节点数目在范围[0,300]内-100<=Node.val<=100题目......
  • GD32F470II芯片LVGL不同驱动方式对比
    1、硬件对比屏幕尺寸:800*480 颜色格式:RGB565一帧数据:800*480*2=768000=750kLCD频率:32MHz/768000=41HZlvglfps:33优化等级:AC5-O3新硬件:GD32F470IISDRAM:32bit带宽,120MHzMCU:240MHz,768KRAM,2MFlashlv_demo_b......
  • ASCII码图
    ASCII(AmericanStandardCodeforInformationInterchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC646。......
  • 汉诺塔VII 1997 (技巧+递推)
    汉诺塔VIITimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):1261    AcceptedSubmission(s):838ProblemDescriptionn个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。......
  • 【DP】LeetCode 132. 分割回文串 II
    题目链接132.分割回文串II思路分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数组的动态规划问题中,一般dp[i]都是表示以nums[i]为结尾的状态;dp[i][j]分别表示以nums1[i]和nums2[j]为结尾的状态,以此类......