• 第二篇:矩阵的翻转JavaScript


    一维数组的翻转

    // 一维矩阵翻转
    // 实例: arr = [1,2,3,4,5] => [5,4,3,2,1]
    let n  = readline()
    let arr = readline().split(' ').map(Number)
    // console.log(n,arr)
    let temp = 0
    for(let i = 0; i < n/2;i++){
        temp = arr[i]
        arr[i] = arr[n-i-1]
        arr[n-i-1] = temp
    }
    console.log(arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    n*n矩阵的翻转

    1. 水平翻转
    // 二维矩阵水平翻转
    // 实例
    // 1 2 3            7 8 9
    // 4 5 6      =》   4 5 6
    // 7 8 9            1 2 3
    let n = readline()
    var arr = []
    for(let i = 0; i < n;i++){
        arr[i] = readline().split(' ').map(Number)
        // for(let j = 0;j < n;j++){
        //     arr[i][j] = arr[i][j]
        // }
    }
    // console.log('a',arr)
    for(let i = 0; i <= n/2; i++){
        for(let j = 0; j < n;j++){
            let temp = 0;
            temp = arr[i][j]
            arr[i][j] = arr[n-i-1][j]
            arr[n-i-1][j] = temp
        }
    }
    console.log(arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    1. 垂直翻转
    // 二维矩阵垂直翻转
    // 实例
    // 1 2 3            3 2 1
    // 4 5 6      =》   6 5 4
    // 7 8 9            9 8 7
    let n = readline()
    var arr = []
    for(let i = 0; i < n;i++){
        arr[i] = readline().split(' ').map(Number)
        // for(let j = 0;j < n;j++){
        //     arr[i][j] = arr[i][j]
        // }
    }
    console.log('a',arr[0][0])
    let temp
    for(let i = 0; i < n; i++){
        for(let j = 0; j <= n/2;j++){
            console.log(temp)
            temp = arr[i][j]
            arr[i][j] = arr[i][n-j-1]
            arr[i][n-j-1] = temp
        }
    }
    console.log(arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    1. 水平垂直方向各翻转一次
    // 二维矩阵水平垂直各翻转一次
    // 实例 
    // 1 2 3            9 8 7
    // 4 5 6      =》   6 5 4
    // 7 8 9            3 2 1
    let n = readline()
    var arr = new Array()//定义一维数组
    for(let i = 0 ; i < n ; i++){
        arr[i] = readline().split(' ').map(Number)
    }
    // var result = [[],[],[]]
    var result = []
    //reverse(arr)
    
    // console.log(arr)
    //function reverse(arr){
        for(let i = 0; i < n;i++){ 
            for(let j = 0; j <= n/2;j++){
                let temp = 0;
                temp = arr[i][j];
                arr[i][j] = arr[i][n-j-1];
                arr[i][n-j-1] = temp
            }
            result[n-i-1] = arr[i]
        }
        console.log(result)
        // document.write('
    ');
    //}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
  • 相关阅读:
    javaee实验,Spring MVC拦截器的设计与实现
    Hadoop 之文件读取
    【计算机网络实验】虚拟局域网组建
    Web漏洞分析(dvwa、SQL手工注入、sqlmap注入)
    PCA问题汇总
    贪心算法-构造哈夫曼数及生成哈夫曼编码,编程实现
    实现异步上传图片【前后端分离】
    Aztec交易架构解析
    Opencv图像轮廓检测——转换灰度图像、二值图像、绘制图像轮廓、轮廓特征、轮廓外接圆
    gerrit本地代码关联到远程仓库
  • 原文地址:https://blog.csdn.net/weixin_45866961/article/details/133577776