zoukankan      html  css  js  c++  java
  • 《剑指offer》1. 二维数组中的查找【Java+Python】

    二维数组中的查找

    1. 题目描述

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    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 = 5,返回 true。

    给定 target = 20,返回 false。

    3. 解题思路

    使用以下方法的前提是:该矩阵是有序的。

    从矩阵的左下角开始搜索,即从18 开始查找,如果该数大于目标数,则 行数 减去 1,向上搜索小的数值;

    如果小于目标数,则 列数 + 1 ,向右边搜索,搜索更大的数值

    4. Java实现

    // Java语言实现
    // Java语言实现
    public class Solution {
        public boolean Find(int target, int [][] array) {
            int row = array.length-1;
            int col = 0;  
            // 从左下角开始搜索,array.length 表示行的大小,array[0].length表示列的大小
            
            while (row >= 0 && col <= array[0].length-1){
                if (array[row][col] == target){
                    return true;
                }else if(array[row][col] > target){
                    row--;
                }else{
                    col++;
                }
                
            }
            return false;
     
        }
    }
    

    5. Python实现

    // Java语言实现
    public class Solution {
        public boolean Find(int target, int [][] array) {
            int row = array.length-1;
            int col = 0;  
            // 从左下角开始搜索,array.length 表示行的大小,array[0].length表示列的大小
            
            while (row >= 0 && col <= array[0].length-1){
                if (array[row][col] == target){
                    return true;
                }else if(array[row][col] > target){
                    row--;
                }else{
                    col++;
                }
                
            }
            return false;
     
        }
    }
    

    image.png

  • 相关阅读:
    CriminalIntent项目开发笔记(二)
    CriminalIntent项目开发笔记(一)----动态添加Fragment
    android应用中去掉标题栏的方法
    15个IT程序员必须思考的问题
    Android Studio快捷键
    Android 学习笔记
    win7系统安装方法
    jquery随学随记
    接口功能测试策略--转载
    测试随笔
  • 原文地址:https://www.cnblogs.com/junge-mike/p/13509439.html
Copyright © 2011-2022 走看看