首先得弄懂题目的意思:行列均递增有序。利用这个特点从左下角开始对比,小于x就往右边更大的找,大于x就往上面更小的找。
bool Find(int target, int** array, int arrayRowLen, int* arrayColLen ) { int m = arrayRowLen; int n = *arrayColLen; int i = m-1, j = 0; while(i >= 0 && j < n){ if(array[i][j] == target) return true; else if(array[i][j] < target) j++; else i--; } return false; }