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

矩阵-搜索二维矩阵II

搜索二维矩阵II

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

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

输入:二维数组,整型变量
输出:布尔值
思路:暴力搜索,使用二分查找

class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int m = matrix.length;
        int n = matrix[0].length;
        //暴力搜索
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                if(matrix[i][j] == target){
                    return true;
                }
            }
        }
        return false;
    }
}

二分查找

class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
    //使用二分查找
    for(int[] row : matrix){
        int index = search(row, target);
        if(index >= 0){
            return true;
        }
    }
        return false;
    }
    public int search(int[] nums,int target){
        int low = 0, high = nums.length - 1;
        while(low <= high){
            int mid = (high + low) / 2;
            int num = nums[mid];
            if(num == target){
                return mid;
            }else if(num > target){
                high = mid - 1;
            }else{
                low = mid + 1;
            }
        }
        return -1;
    }
}

http://www.kler.cn/a/559835.html

相关文章:

  • 苍穹外卖中的模块总结
  • 【前端】react大全一本通
  • 【JavaEE】-- 多线程(初阶)2
  • 侯捷 C++ 课程学习笔记:四个层面基本用法
  • PLC通讯
  • SPRING10_SPRING的生命周期流程图
  • Qt/C++项目积累:3.日志管理系统 - 3.1 项目介绍
  • 基于python的旅客游记和轨迹分析可视化系统设计(新)
  • 基于Python异常信息丰富度约束下CNN压缩系统设计与实现
  • 【个人开源】——从零开始在高通手机上部署sd(二)
  • 纷析云开源版- Vue2-增加字典存储到localStorage
  • 【Python爬虫(60)】解锁社交媒体数据宝藏:Python爬虫实战攻略
  • buuctf-[极客大挑战 2019]LoveSQL
  • 调试无痛入手
  • 蓝桥杯试题:小明的彩灯(差分 前缀和)
  • Linux系统移植之Uboot启动流程
  • “国补”带火手机换新,出售旧手机应如何保护个人信息安全
  • 鸿蒙学习-
  • Http升级为Https - 开发/测试服环境
  • 基于物联网的家庭版防疫面罩设计与实现(论文+源码)