去哪儿
一、打印n*n的螺旋矩阵的第i行,第j列的数字。例如4*4的矩阵第3行第3列的数字为15。
window.onload=function(){
var n=3;
var i=3;
var j=3;
findNum(n,i,j);
function findNum(n,i,j){
var start=1;
var count=0;
while(n+1>=start*2){
count=printCircle(n,i,j,start,count);
//alert(count);
start++;
}
}
function printCircle(n,row,col,start,count){
var endX=n-start+1;
var endY=n-start+1;
for(var j=start;j<=endY;j++){
count++;
//console.log("i="+start+"j="+j+"数字是"+count);
if(row==start&&col==j){
console.log("答案在此:"+count);
return;
}
}
for(var i=start+1;i<=endX;i++){
count++;
//console.log("i="+i+"j="+endY+"数字是"+count);
if(row==i&&col==endY){
console.log("答案在此:"+count);
return;
}
}
for(var j=endY-1;j>=start;j--){
count++;
//console.log("i="+endX+"j="+j+"数字是"+count);
if(row==endX&&col==j){
console.log("答案在此:"+count);
return;
}
}
for(var i=endX-1;i>=start+1;i--){
count++;
//console.log("i="+i+"j="+start+"数字是"+count);
if(row==i&&col==start){
console.log("答案在此:"+count);
return;
}
}
return count;
}
};
网友评论