LeetCode240. 搜索二维矩阵 II(java)

VN1630A硬件配置指南:手把手教你用CanApe搭建XCP标定工程(附ELF文件配置技巧) 本文详细介绍了如何使用VN1630A硬件和CanApe软件搭建XCP标定工程,包括硬件配置、CanApe工程创建、ELF文件处理及XCP协议层配置等关键步骤。特别针对实际项目中常见的错误和细节问题提供解决方案,帮助工程师高效完成ECU参数标定工作。 阅读详情

题目:

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

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

示例:
在这里插入图片描述
代码:

  • 解法一
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        if(matrix == null) return false;
        int m = matrix.length;
        if(m == 0) return false;
        int n = matrix[0].length;
        
        //从右上角开始找
        //如果该值小于target,则排除该行,向下找
        //如果该值大于target,则排除该列,向左找
        for(int i = 0, j = n - 1; i < m && j > -1;){
            if(matrix[i][j] > target){
                j--;
            }else if(matrix[i][j] < target){
                i++;
            }else{
                return true;
            }
        }
        return false;
    }
}
  • 解法二
//先在行间使用二分查找 找出target所在的行
//再在当前行上使用二分查找 找出target
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        if(matrix==null){
            return false;
        }
        int m=matrix.length;
        int n=matrix[0].length;
        int frontLine=0;
        int rearLine=m-1;
        int midLine=(frontLine+rearLine)/2;
        while(true){	//查找当前行
            if(target>matrix[midLine][n-1]){
                frontLine=midLine+1;
            }
            if(target<matrix[midLine][0]){
                rearLine=midLine-1;
            }
            if(target>matrix[midLine][0]&&target<matrix[midLine][n-1]){
                int front=0;
                int rear=n-1;
                int mid=(front+rear)/2;
                while(front<rear){	//在当前行上查找元素
                    if(target>matrix[midLine][mid]){
                        front=mid+1;
                    }
                    if(target<matrix[midLine][mid]){
                        rear=mid-1;
                    }
                    if(target==matrix[midLine][mid]){
                        return true;
                    }
                }
                return false;
            }
        }
    }
}
  • 别人的代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        if (matrix.length == 0 || matrix[0].length == 0) return false;
        int l = 0, r = matrix.length - 1;
        while (l < r) {
            int m = l + r + 1 >> 1;
            if (matrix[m][0] <= target) l = m;
            else r = m - 1;
        }
        int b = l;
        for (int i = 0; i <= b; i++) {
            l = 0; r = matrix[0].length - 1;
            while (l <= r) {
                int m = l + r >> 1;
                if (matrix[i][m] == target) return true;
                if (matrix[i][m] > target) r = m - 1;
                else l = m + 1;
            }
        }
        return false;
    }
}
基于Harness Engineering构建AI Agent的全自动化CI_CD流水线 AI Agent的CI/CD是指对Agent的全生命周期资产(代码、Prompt、RAG知识库、模型权重、工具配置)进行持续集成、持续测试、持续发布和持续观测的自动化流程,核心目标是在保障发布质量的前提下,最大化提升Agent的迭代效率。 阅读详情

相关推荐

TRK-MPC5634M开发板实战:从硬件解析到CAN、ADC外设驱动调试

在嵌入式系统开发,尤其是汽车电子和工业控制领域,微控制器(MCU)是核心执行单元。其工作原理基于处理器内核、存储器和丰富的外设接口协同工作,通过软件编程实现对硬件的精确控制。这种技术价值在于能够为严苛环境提供可靠、实时的控制解决方案。典型的应用场景包括汽车车身控制、网关、电池管理系统以及工业自动化设备。本文聚焦于恩智浦(NXP)基于Power Architecture e200z0内核的汽车级MCU——MPC5634M,并以其官方评估板TRK-MPC5634M为平台,深入探讨其硬件设计逻辑、软件环境搭建及核

weixin_29997523的博客 291

【leetcode】240.搜索二维矩阵 II (四种方法开阔思路,java实现)

240. 搜索二维矩阵 II 难度中等 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 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] ] 给定 ta

Viper的程序员修炼手册 1499

OneNet平台MQTT连接避坑指南:C语言Token计算实战(附完整代码)

本文详细解析了OneNet平台MQTT连接中的Token计算机制,提供了C语言实现的完整代码和实战指南。通过HMAC算法和Base64编码,开发者可以高效生成安全凭证,避免常见连接问题,适用于物联网设备开发。

weixin_29193359的博客 462

二维矩阵目标值搜索

目录 问题描述: 实验任务 实验过程及结果 蛮力法求解 问题描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 leetcode链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/ 实验任务 采用二分搜索策略实现问题的求解程序,验证输入输出结果,并对以下三种设计算法的时间复杂度...

emandora的博客 1513

从轴承润滑到代码实现:手把手教你用Python FDM求解稳态雷诺方程

本文详细介绍了如何用Python FDM(有限差分法)求解稳态雷诺方程,从轴承润滑理论到代码实现的全过程。通过构建无量纲方程、有限差分格式和迭代求解算法,开发者可以快速实现专业级润滑分析,应用于涡轮发电机、汽车曲轴等场景。文章还提供了完整的Python代码示例和结果可视化方法,帮助工程师优化轴承设计。

weixin_28689507的博客 122

华为OD机试 - 整型数组按照个位数排序(Java 双机位C卷 100分)

华为OD机试 双机位C卷题库疯狂收录中,刷题。

学Java,找哪吒 350

每日一题算法-搜索二维矩阵

题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解法...

qq_26997921的博客 867

Linux V3H 平台开发系列讲解(串行解串篇)2.2.2 MAX9296 MAX96705 GMSL1 续篇--串行器提前配置

本文详细介绍了在Linux v3h平台上,针对Max9296解串器和解串器max96705的详解配置,验证可出图,内容包括串行器解串器介绍、链路框架、硬件连接、速率配置,以及遇到的图像异常问题及解决方法。

xian18809311584的博客 539

LeetCode 240. 搜索二维矩阵 II 【c++/java详细题解】

目录1、题目2、思路3、c++代码4、java代码 1、题目 编写一个高效的算法来搜索 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 =

林深不见鹿 的博客 1084

Python爬虫零基础入门【第九章:实战项目教学·第17节】内容指纹去重:URL 变体/重复正文的识别!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 826

【S32K3 MCAL配置】-3.4-CANFD配置-接收特定的“经典CAN/CANFD标准帧”和“经典CAN/CANFD扩展帧”(基于MCAL+FreeRTOS)

【S32K3 MCAL配置】-3.4-CANFD配置-接收特定的“经典CAN/CANFD标准帧”和“经典CAN/CANFD扩展帧”(基于MCAL+FreeRTOS)

「汽车电子助手」的博客 698

Leetcode刷题(第240题)——搜索二维矩阵II

一、题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 二、示例 输入: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 输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6

m0_54850467的博客 466

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【Java力扣算法】LeetCode 240 搜索二维矩阵 II

题目: 编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, ...

懂技术的猫 409

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

[LeetCode]240. 搜索二维矩阵 II(java实现)

[LeetCode]240. 搜索二维矩阵 II(java实现)1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结 1. 题目 2. 读题(需要重点注意的东西) 思路1:先按第一行,比较大小,如果current value < target ,向右寻找,直到current value > target;然后按列j,向下寻找,如果current value < target ,向下寻找,直到current value &

cloud的博客 427

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java实现 LeetCode 240 搜索二维矩阵 II(二)

240. 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10,...

南 墙 1万+

leetcode hot100【LeetCode 240.搜索二维矩阵 II】java实现

LeetCode 240.搜索二维矩阵 II

DataCrafter的博客 830

LeetCode100之搜索二维矩阵II(240)--Java

这道题解决起来很简单,从右上角开始寻找,相等就是找到了,大了就往左,小了就往下。

2301_79318558的博客 1028

leetcode 240.搜索二维矩阵II Java

搜索二维矩阵II做题博客链接题目链接描述示例初始代码模板代码 做题博客链接 https://blog.csdn.net/qq_43349112/article/details/108542248 题目链接 https://leetcode-cn.com/problems/search-a-2d-matrix-ii/ 描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 提示:

博主是个二次元死肥宅~ 356

Java详解LeetCode 热题 100(21):LeetCode 240. 搜索二维矩阵 II(Search a 2D Matrix II)详解

理解矩阵特性:行有序 + 列有序是解题的关键选择合适起点:右上角或左下角都是很好的起点明确搜索方向:根据比较结果确定唯一的移动方向处理边界条件:空矩阵、单元素矩阵等特殊情况。

yk_dflkg的博客 1251

leetcode 240. Search a 2D Matrix II | 240. 搜索二维矩阵 II(Java)

题目 https://leetcode.com/problems/search-a-2d-matrix-ii/ 题解 方法1 思路类似于 leetcode 200. Number of Islands | 200. 岛屿数量(Java) 的“感染”过程,从左上角开始找,递归其右边和下边的格子,同时为了避免重复路线,做了一些优化。trace 用来记录已经走过的路线。 复杂度分析:这种不走重复路线的递归方式,时间复杂度应该是O(m*n)吧,不是很确定。 class Solution { public

寒泉 5万+

Java实现 LeetCode 240 搜索二维矩阵 II

public static boolean searchMatrix(int[][] matrix, int target) { if(matrix.length == 0) return false; int x = 0; int y = matrix[0].length -1; while(x < matrix.length...

南 墙 1万+

Leetcode240 搜索二维矩阵 II[Med] -JAVA

题目传送门 240. 搜索二维矩阵 II[Mid] -JAVA题目思路解法 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 2

小小柯 187

Leetcode刷题java之240. 搜索二维矩阵 II

执行结果: 通过 显示详情 执行用时 :6 ms, 在所有 Java 提交中击败了99.69% 的用户 内存消耗 :44.5 MB, 在所有 Java 提交中击败了19.56%的用户 题目: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示...

逆水行舟,不进则退 465

LeetCode240.搜索二维矩阵 II(java实现)

问题描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 1.每行的元素从左到右升序排列。 2.每列的元素从上到下升序排列。 解决方案 从右上角开始搜索,逐步进行,代码如下: public boolean searchMatrix(int[][] matrix, int target) { if((matrix == null || ...

超悦人生 270
上一篇: LeetCode136. 只出现一次的数字(Java)
下一篇: LeetCode905. 按奇偶排序数组(java)
inferno devil
博客等级 码龄9年 54粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值