笔试题整理(六)

去哪儿

一、打印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;
    }
    
    };
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 13,657评论 3 71
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,550评论 0 41
  • CTF中那些脑洞大开的编码和加密 0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问...
    查无此人asdasd阅读 11,386评论 0 19
  • 我昨日碰见了一个故人,要说是故人也不算故人,确切的来说,是故妖。 有狐氏青青,生于青丘,长于青丘。也同样,亡于青丘...
    莛瀛阅读 3,106评论 2 2
  • 今夕谈梦 遂说少年有成 慎思之 愧矣 观今朝之态 浑噩度日 已无昨日之风 敷衍行事 忘却心之本初 实为年少之殇也 ...
    factual阅读 1,324评论 0 0

友情链接更多精彩内容