leetcode 链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/

题目

image.png

解法

  1. class Solution {
  2. public boolean findNumberIn2DArray(int[][] matrix, int target) {
  3. // 可以从左上角或者右下角开始查找
  4. // 左上角:大于当前值往下移动,小于当前值往左移动
  5. // 右上角:大于当前值往右移动,小于当前值往上移动
  6. // 对输入进行检测
  7. if (matrix.length == 0 || matrix[0].length == 0){
  8. return false;
  9. }
  10. int height = matrix.length;
  11. int width = matrix[0].length;
  12. // 此处从左上角进行查找
  13. int h = 0;
  14. int w = width - 1;
  15. while (h < height && w >= 0){
  16. if (matrix[h][w] == target){
  17. return true;
  18. } else if (matrix[h][w] > target){
  19. w--;
  20. } else {
  21. h++;
  22. }
  23. }
  24. return false;
  25. }
  26. }