【LeetCode-中等题】240. 搜索二维矩阵 II

news/2025/1/12 0:59:24/

文章目录

    • 题目
    • 方法一:暴力双for查找
    • 方法二:二分查找,对每二维数组进行拆分,一行一行的进行二分查找
    • 方法三:列倒序Z字形查找

题目

在这里插入图片描述

方法一:暴力双for查找

public boolean searchMatrix(int[][] matrix, int target) {for (int[] row : matrix) {for (int element : row) {if (element == target) {return true;}}}return false;}

方法二:二分查找,对每二维数组进行拆分,一行一行的进行二分查找

public boolean searchMatrix(int[][] matrix, int target) {for(int i = 0 ; i<matrix.length;i++){boolean isTrue = search(matrix[i],target);if(isTrue) return true;}return false;}//二分查找方法public boolean search(int[] nums,int target){int begin = 0 ;//二分起点int end = nums.length-1;//二分末尾点while(begin <= end){int mid = (end - begin)/2 + begin; //取中间点下标int midNum = nums[mid];//中间元素//判断中间元素与target大小if(target == midNum)  return true;//如果中间元素等于目标元素  直接返回结果else if(target > midNum )  begin = mid+1; //如果中间元素小于目标值  说明寻找元素肯定在mid+1  ,  end区间  更新下次起点else if(target < midNum )  end   = mid-1;//同理}//循环完没有找到mid元素  说明不存在targetreturn false;}

方法三:列倒序Z字形查找

	//关键在于这个判断 if(matrix[row][col] > target)  col --;//若该位置的元素>目标元素,则往左移动一位else if(matrix[row][col] < target)  row ++;//若该位置的元素<目标元素,则往下移动一位else return true;//若满足相等的条件  则返回true

在这里插入图片描述

public boolean searchMatrix(int[][] matrix, int target) {int m = matrix.length;int n = matrix[0].length;int row = 0;//行int col = n - 1; //列while(row < m && col>=0){if(matrix[row][col] > target)  col --;//若该位置的元素>目标元素,则往左移动一位else if(matrix[row][col] < target)  row ++;//若该位置的元素<目标元素,则往下移动一位else return true;//若满足相等的条件  则返回true}return false;}

http://www.ppmy.cn/news/1062943.html

相关文章

space-around和space-between区别

space-around和space-between是CSS中用于控制Flex容器中项目之间间距的两个属性。 justify-content: space-around;&#xff1a;这个属性将在Flex容器中平均分配项目之间的空间&#xff0c;同时在首尾两侧也留有一半的空间。也就是说&#xff0c;项目之间的间隔是相等的&#x…

计算机竞赛 基于大数据的社交平台数据爬虫舆情分析可视化系统

文章目录 0 前言1 课题背景2 实现效果**实现功能****可视化统计****web模块界面展示**3 LDA模型 4 情感分析方法**预处理**特征提取特征选择分类器选择实验 5 部分核心代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据…

跨地区、跨平台、跨网络,如何解决远程IT运维集中管理难题

面对日益激增的IT复杂性和业务需求的快速变化&#xff0c;IT应用在运行过程中发生性能下降或者服务不可用等故障的可能性大大增加&#xff0c;如何更高效、更智能地开展IT运维&#xff0c;保证业务的连续性和IT系统的稳定性&#xff0c;成为企业业务发展的迫切需要。IT运维作为…

leetcode739. 每日温度 单调栈

自己思路&#xff1a; 想到用两个栈&#xff0c;一个维护元素、另一个维护下标。但是还是无法处理有重复元素的问题&#xff08;用哈希表来存储的时候&#xff09;。所以就看了答案的思路。 答案思路&#xff1a; 从前往后遍历&#xff0c;维护一个单调栈。栈存放数组的下标。…

C#匿名方法增加、删除委托

匿名方法给我们带来了方便&#xff0c;那么如何增加删除匿名方法中附加的委托&#xff08;事件&#xff09;呢 一般写法&#xff1a; 1 2 3 4 this.Loaded (sender, e) > { //Do something }; 进化写法&#xff1a; 1 2 3 4 5 6 7 this.Loaded …

C# winform加载yolov8模型测试(附例程)

第一步&#xff1a;在NuGet中下载Yolov8.Net 第二步&#xff1a;引用 using Yolov8Net; 第三步&#xff1a;加载模型 private IPredictor yolov8 YoloV8Predictor.Create("D:\\0MyWork\\Learn\\vs2022\\yolov_onnx\\best.onnx", mylabel); 第四步&#xff1a;图…

学习文档链接

SpringBoot Activiti 完美结合&#xff0c;快速实现工作流&#xff08;最详细版&#xff09; - 知乎 (zhihu.com) easypoi: POI 工具类,Excel的快速导入导出,Excel模板导出,Word模板导出,可以仅仅5行代码就可以完成Excel的导入导出,修改导出格式简单粗暴,快速有效,easypoi值得…

SpringCloud超详细教程

1.认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#xff1a;将业务的所有…