9.6 Given a matrix in which each row and each column is sorted, write a method to find an element in it.
void search(int[][]a, int t) { int m = a.length; int n = a[0].length; // Start from right-up point. // if rightUp == t, found // if rightUp > t, all column are > t // if rightUp < t, all row are < t // finally we will reach some node, or cannot find it. int row = 0; int col = n - 1; while (row < m && col >= 0) { if (a[row][col] == t) { // Found !:) return; } else if (a[row][col] > t) { col --; } else { row ++; } } // Not found :( }
时间: 2024-10-10 07:36:33