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;
        }}
  • 相关阅读:
    初始Dubbo
    ProcessBuilder执行本地命令
    Deep Learning的基本思想
    机器学习(Machine Learning)
    Group By和Order By的总结
    Oracle sqlldr命令
    redis的简单操作
    Java程序中做字符串拼接时可以使用的MessageFormat.format
    Bean的作用域
    DI延伸
  • 原文地址:https://www.cnblogs.com/quanmeng/p/12676915.html
Copyright © 2011-2022 走看看