题解 | #寻找牛群中的特定编号牛#
寻找牛群中的特定编号牛
https://www.nowcoder.com/practice/e0c6f3fba6dd40b99e8bcc0241631f9d?tpId=354&tqId=10594815&ru=/exam/oj&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix int整型二维数组 * @param target int整型 * @return bool布尔型 */ public boolean searchMatrix (int[][] matrix, int target) { int start = 0; int end = matrix[0].length - 1; while ((start < matrix.length) && (end >= 0)) { if (target > matrix[start][end]) { end--; } else if (target < matrix[start][end]) { start++; } else { return true; } } return false; } }
本题知识点分析:
1.二分查找
2.矩阵
3.数组遍历
4.数学模拟
本题解题思路分析:
1.start代表二维数组的行
2.end代表二维数组的列
3.由于矩阵是降序排列的,因此可以用二分查找寻找mid值,道理和普通的二分查找一样