1. public boolean findNumberIn2DArray(int[][] matrix, int target) {
    2. //官方
    3. for (int i = 0; i < matrix.length; i++) {
    4. int left = 0;
    5. int right = matrix[0].length-1;
    6. while (left<=right) {
    7. int middle = (left + right) / 2;
    8. if (target == matrix[i][middle]) {
    9. return true;
    10. }
    11. if (target > matrix[i][middle]) {
    12. left = middle + 1;
    13. } else {
    14. right = middle - 1;
    15. }
    16. }
    17. }
    18. return false;
    19. }
    20. //大佬
    21. int i = matrix.length - 1, j = 0;
    22. while(i >= 0 && j < matrix[0].length)
    23. {
    24. if(matrix[i][j] > target)
    25. i--;
    26. else if(matrix[i][j] < target)
    27. j++;
    28. else return true;
    29. }
    30. return false;