问题: 给定一个m*n矩阵,按螺旋顺序返回所有元素。
思路: 按从左到右、从上到下、从右到左和从下到上四个方向构建循环,设置四个移动边界。
java代码:
int[] searchRange(int A[],int target){
int[] range=[-1,-1];
int lower=0,upper=A.length,mid;
if(A[upper-1]<target)
return range;
while(lower<upper){
mid=(lower+upper)/2;
if(A[mid]<target)
lower=mid+1;
else
upper=mid;
}
if(A[lower]!=target)
return range;
range[0]=lower;
upper=A.length;
while(lower<upper){
mid=(lower+upper)/2;
if(A[mid]>target)
upper=mid;
else
lower=mid+1;
}
range[1]=upper-1;
return range;
}