@@ -0,0 +1,1062 @@
+public class Solution %7B%0A    public boolean searchMatrix(int%5B%5D%5B%5D matrix, int target) %7B%0A        int m = matrix.length, n = matrix%5B0%5D.length;%0A        if(m == 0 %7C%7C n == 0 %7C%7C matrix%5B0%5D%5B0%5D %3E target)%7B%0A            return false;%0A        %7D%0A        int i = 0, j = matrix.length;%0A        while(j - i %3E 1)%7B%0A            int tmp = matrix%5B(i+j)/2%5D%5B0%5D;%0A            if(tmp %3E target)%7B%0A                j = (i+j)/2;%0A            %7Delse if(tmp %3C target)%7B%0A                i = (i+j)/2;%0A            %7Delse%7B%0A                return true;%0A            %7D%0A        %7D%0A        int row = i;%0A        i = 0;%0A        j = matrix%5B0%5D.length-1;%0A        do%7B%0A            if(matrix%5Brow%5D%5Bi%5D == target %7C%7C matrix%5Brow%5D%5Bj%5D == target)%7B%0A                return true;%0A            %7Delse%7B%0A                int tmp = matrix%5Brow%5D%5B(i+j)/2%5D;%0A                if(tmp %3E target)%7B%0A                    j = (i+j)/2;%0A                %7Delse if(tmp %3C target)%7B%0A                    i = (i+j)/2;%0A                %7Delse%7B%0A                    return true;%0A                %7D%0A            %7D%0A        %7Dwhile(j - i %3E 1);%0A        return false;%0A    %7D%0A%7D

Q74 Search a 2D Matrix