标签:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
简单的一道题,不过做了个新方法:
从右上角开始,分三种情况:
array[i][j]==target,返回true;
array[i][j]>target,排除最后一列,即cols-=1;
array[i][j]<target,排除第一行,即break;
具体如下:
public class Solution { public boolean Find(int [][] array,int target) { int rows = array.length;//行数 int cols = array[0].length;//列数 for(int i = 0;i < rows;i++){ for(int j = cols-1; j>=0;j--){ if(array[i][j] == target){ return true; }else if(array[i][j] > target){ cols-=1; }else{ break; } } } return false; } }
ok,解决
标签:
原文地址:http://www.cnblogs.com/blogofcookie/p/5723185.html