算法(利用有序,不断排除一行或一列,缩小范围):
数据样例: int[][] matrix = {
目标数字7
过程:
1、7和右上角的9比较后剔除最右边一列。得到:
2、7和右上角的8比较后剔除最右边一列。得到:
3、7和右上角的2比较后剔除最上边一行。得到:
直到右上角的数字等于目标数字7.
时间复杂度: O(n)
算法的注意事项:如果需要输出目标数字存在的个数或所在的位置,且目标数字重复存在时,比如目标数字是4,,找到第一个数字4后,把该数字所在的行和列都剔除,继续查找。
优秀解答:http://blog.csdn.net/derrantcm/article/details/45330789