zoukankan      html  css  js  c++  java
  • day02

    二维数组中的查找

    问题:

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

    思路:

    1.依次遍历数组中的行和列,如果找到数组中的整数和目标值一样,则返回true,否则,返回false

    package day02;
    
    public class test01 {
        public boolean findNumberIn2DArray(int[][] matrix, int target) {
            if(matrix==null || matrix.length==0||matrix[0].length==0){
                return false;
            }
           int rows = matrix.length,colums=matrix[0].length;
            for (int i =0;i<rows;i++) {
                for (int j = 0; j < colums; j++) {
                    if (matrix[i][j] == target) {
                        return true;
                    }
                }
            }
            return false;
        }
    }

    2.二维数组从上到下从左到右依次增加

    //线性查找
    package day02;
    
    public class test02 {
        public boolean findNumberIn2DArray(int[][] matrix, int target) {
            if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
                return false;
            }
            int rows = matrix.length, colums = matrix[0].length;
            int row = 0, column = colums - 1;
            while (row < rows && column >= 0) {
                int num = matrix[row][column];
                if (num == target) {
                    return true;
                } else if (num > target) {
                    column--;
                } else {
                    row++;
                }
            }
            return false;
        }}
  • 相关阅读:
    CSS快速入门
    Kafka (一) 核心概念
    软件工程模型
    函数式编程
    spark计算操作整理
    HBase 文件合并
    HBase 数据存储结构
    目的论浅谈
    PHP8的注解
    JS的移入移除
  • 原文地址:https://www.cnblogs.com/quanmeng/p/12676915.html
Copyright © 2011-2022 走看看