给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增
1 2 3
3 5 6
4 8 9
现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)
int searchK(int int_arr[][],int n,int startlow,int startclm,int k)
{
int lefttemp=0;
int downtemp=0;
int i=0;
while(int_arr[startlow+i][startclm+i]
i++;
if (i==n)
return 0;
else if(arr[i][i]==k)
reuturn 1;
else
return searchK(int_arr,n,startlow,startclm+i,k)+searchK(int_arr,n,startlow+i,startclm,k);
}