博客
关于我
Z 字形变换
阅读量:723 次
发布时间:2019-03-21

本文共 1187 字,大约阅读时间需要 3 分钟。

var convert = function (s, numRows) {    //numRows行    if (numRows < 2) {        return s    }    const mid = numRows - 2 //中间列    const len = s.length    //求列    if (len < 2) {        return s    }    let count = Math.floor(len / (numRows + mid)) * (mid + 1)    // console.log(count, 'count');    const tmp = len % (numRows + mid)    // console.log(tmp, 'tmp');    if (tmp < numRows) {        count = count + 1    } else {        count = count + 1 + (tmp - numRows)    }    console.log(count);    //生成二维数组 numRows行 count列    const store = new Array(numRows).fill('').map(() => {        return new Array(count).fill('')    })    let j = 0, k = 0, flag = true    for (let i = 0; i < len; i++) {        if (j === numRows) {            flag = false            j = j - 2            k++        }        if (j === 0) {            flag = true        }        if (flag) {            store[j][k] = s[i]            j++        } else {            store[j][k] = s[i]            j--            k++        }    }    const result = []    for (const e of store) {        for (const f of e) {            if (f !== '') {                result.push(f)            }        }    }    return result.join('')};

 

转载地址:http://gmirz.baihongyu.com/

你可能感兴趣的文章
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>