当前位置: 首页 > news >正文

JAVA算法练习题day18

21搜索二维矩阵②

没想起来:要想查找一个数,并且数组是有序的,应当用二分。

二分:

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//二分for(int i = 0 ;i<matrix.length;i++){if(my_erFen(matrix[i],target)) return true;}return false;}private boolean my_erFen(int[] row,int target){int l = 0,r = row.length-1;while(l<r){int mid = (l+r)/2;if(row[mid]>=target) r = mid;else l = mid+1;}if(row[l]==target) return true;return false;}
}

力扣官方题解,Z形查找(差点就想出来了);

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//从右上角开始搜,如果一下步搜索的坐标越过了边界,则不存在targetint x = 0, y=matrix[0].length-1;while(x<=matrix.length-1 && y >=0){if(matrix[x][y]<target) x++;else if(matrix[x][y]>target) y--;else return true;}return false;}
}

重新学习二分查找-ACWING算法基础课

二分查找:

    一,整数二分

给check(mid)考察的是哪个区间的性质,就是在找该区间的边界(边界也符合区间的性质)。

    对应练习:ACWING789数的范围

二,浮点数二分

    当区间长度小到一定程度时候,就认为找到了答案。

http://www.dtcms.com/a/395075.html

相关文章:

  • springboot3 exception 全局异常处理入门与实战
  • spring简单入门和项目创建
  • lVS 负载均衡技术
  • 【论文阅读】OpenDriveVLA:基于大型视觉语言动作模型的端到端自动驾驶
  • Redis 缓存更新策略与热点数据识别
  • 新手小白——Oracle新建表完成题目
  • 如何让百度快速收录网页如何让百度快速收录网页的方法
  • Bugku-1和0的故事
  • 微硕WINSOK N+P MOSFET WSD3067DN56,优化汽车智能雨刷系统
  • DeviceNet 转 Profinet:西门子 S7 - 1500 PLC 与欧姆龙伺服电机在汽车焊装生产线夹具快速切换定位的通讯配置案例
  • 探索鸿蒙应用开发:构建一个简单的音乐播放器
  • 人脸识别(具体版)
  • 4.10 顶点光源
  • 深度学习---PyTorch 神经网络工具箱
  • 第九篇:静态断言:static_assert进行编译期检查
  • 第10讲 机器学习实施流程
  • tablesample函数介绍
  • 机器学习-单因子线性回归
  • android pdf框架-14,mupdf重排
  • 借助VL模型实现一个简易的pdf书签生成工具
  • 78-数据可视化-折线图
  • 静默安装 Oracle Database 21c on CentOS 7.9
  • DINOv3详解+实际下游任务模型使用细节(分割,深度,分类)+ Lora使用+DINOv1至v3区别变换分析(可辅助组会)
  • Linux编译SRS并测试RTMP流
  • 【完整源码+数据集+部署教程】遥感温室图像分割系统: yolov8-seg-slimneck
  • Apache 生产环境操作与 LAMP 搭建指南
  • 11种数据库类型详解:数据库分关系数据库、非关系数据库、时序数据库、向量数据库等
  • UVa12180/LA4300 The Game
  • Kafka 核心原理、架构与实践指南
  • Tesollo展示灵巧手自动化精准测量系统