美文网首页
js实现斜对角线方向填充矩阵

js实现斜对角线方向填充矩阵

作者: px1012 | 来源:发表于2019-08-05 20:32 被阅读0次
输入一个一维数组,要求填入一个mxn的矩阵,填充方式为斜对角线

以下代码以3x4矩阵为例

//规律; 设每次确定的位置为(i,j)每一次斜行的行号为row(从0开始),则有
//  1.i+j=row;
//  2.每一斜行最后一个元素满足:i==0(row<n-1)或者j==n-1(row>n-1)
//  3.每一斜行第一个元素满足:i==row(row<m-1)或者i=m-1(row>m-1)
//  4。斜行中,i依次减1,j依次加1
function f() {
    var arr=[1,2,3,4,5,6,7,8,9,10,11,12];
    var index = 0;
    var i = 0, j = 0,row = 0;
    var m = 3, n= 4;
    var b = new Array();
//生成一个二维数组b
    for (let k = 0; k < m; k++) {
        b[k] = new Array();
        for (let j = 0; j < n; j++) {
            b[k][j] = 0;
        }
    }
    while (index < arr.length) {
        //判断是否到达斜行最后一个元素
        if (i < 0 || (j >n-1)) {
            row++;
            i = (row <= m - 1) ? row : m - 1;
            //更新下一斜行的第一个元素位置
            j = row - I;
        }
        b[i][j] = arr[index];
        i--;
        j++;
        index++;
    }
    return  b;}
console.log(f()); // [ [ 1, 3, 6, 9 ], [ 2, 5, 8, 11 ], [ 4, 7, 10, 12 ] ]

完成效果如下图:


期望效果

相关文章

  • js实现斜对角线方向填充矩阵

    输入一个一维数组,要求填入一个mxn的矩阵,填充方式为斜对角线 以下代码以3x4矩阵为例 完成效果如下图:

  • LeetCode 1329. 将矩阵按对角线排序

    题目 矩阵对角线 是一条从矩阵最上面行或者最左侧列中的某个元素开始的对角线,沿右下方向一直到矩阵末尾的元素。例如,...

  • LeetCode题解之矩阵对角线元素的和

    矩阵对角线元素的和 题目描述 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的...

  • LeetCode-1572-矩阵对角线元素的和

    给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上...

  • Leetcode_766 Toeplitz Matrix

    如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。 给定一个 M x N 的矩...

  • 托普利茨矩阵

    如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。 给定一个 M x N 的矩...

  • 766. 托普利茨矩阵(Python)

    题目 难度:★☆☆☆☆类型:数学 如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨...

  • 单位矩阵_线性代数_day23

    单位矩阵 对角线都为1的就是单位矩阵image-20200206205510669.png 单位矩阵任意

  • 顺时针打印矩阵

    思路:给定矩阵的左上和右下的点,可以确定矩阵最外边的那个'框',顺时针打印这个框;然后让两个点分别在对角线方向向内...

  • torch向量/矩阵维度填充

    达达 一、针对二维矩阵 所需库函数 填充pad,在后面填充2个0 二、针对三维矩阵 所需库函数 初始化矩阵 填充,...

网友评论

      本文标题:js实现斜对角线方向填充矩阵

      本文链接:https://www.haomeiwen.com/subject/ojyvdctx.html