javascript - 编写函数实现js输出旋转矩阵

查看:181
本文介绍了javascript - 编写函数实现js输出旋转矩阵的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

比如,参数是2,输出矩阵

1 2
4 3

参数是3,输出:

1 2 3
8 9 4
7 6 5


请尝试用js编写一个这样的方法!!!求解。

解决方案

function hehe(n) {
      var item = new Array(n);
      var ceng = [];
      for(var i = 0; i < n; i ++) {
        var h = item[i] = new Array(n);
        for(var j = 0; j < n; j ++) {
          var en = Math.min(i,j,n-1-j,n-1-i);
          var hai = 0;
          for(var k = 0; k < en; k ++) {
            hai += haha(n - en + 1);
          }
          h[j] = hai + lala(i-en, j-en, n-en*2);
        }
      }
      for(var i = 0; i < n; i ++) {
        console.log(item[i].join(' '));
      }
    }
    function lala(x,y,n){
      if(n < 1) n = 1;
      if(x === 0){
        return y + 1;
      }else if(y === n-1){
        return n + x;
      }else if(x === n-1){
        return 3*n - y - 2;
      }else if(y === 0){
        return haha(n) - x + 1;
      }
    }
    function haha(x) {
      return (x - 1) * 4;
    }

//调用
hehe(10);

这篇关于javascript - 编写函数实现js输出旋转矩阵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆