题解 | #寻找牛群中的特定编号牛# java

寻找牛群中的特定编号牛

https://www.nowcoder.com/practice/e0c6f3fba6dd40b99e8bcc0241631f9d

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param matrix int整型二维数组
     * @param target int整型
     * @return bool布尔型
     */
    public boolean searchMatrix (int[][] matrix, int target) {
        // write code here
        // 获取二维数组的行数和列数
        int m = matrix.length;
        int n = matrix[0].length;

        // 从右上角开始搜索
        int row = 0;
        int col = n - 1;

        while (row < m && col >= 0) {
            if (matrix[row][col] == target) {
                // 找到目标数值
                return true;
            } else if (matrix[row][col] > target) {
                // 当前元素大于目标数值,目标数值可能在当前元素的下方
                row++;
            } else {
                // 当前元素小于目标数值,目标数值可能在当前元素的左侧
                col--;
            }
        }

        // 在循环中未找到目标数值,返回false
        return false;
    }
}

编程语言是Java。

该题考察的知识点是在二维矩阵中搜索目标数值。

代码的文字解释如下:

  1. searchMatrix方法接受一个二维整型数组matrix和一个整型数值target作为参数,返回一个布尔型结果表示是否找到目标数值。
  2. 获取二维数组的行数m和列数n。
  3. 从右上角开始进行搜索。初始化row为0,col为n - 1。
  4. 在循环中,判断当前元素是否等于目标数值:如果相等,说明找到了目标数值,返回true。如果当前元素大于目标数值,说明目标数值可能在当前元素的下方,将row加1。如果当前元素小于目标数值,说明目标数值可能在当前元素的左侧,将col减1。
  5. 如果循环中未找到目标数值,返回false。
全部评论

相关推荐

AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务