题解 | #二维数组操作#

二维数组操作

https://www.nowcoder.com/practice/2f8c17bec47e416897ce4b9aa560b7f4

const rl = require("readline").createInterface({ input: process.stdin, output: process.stdout });

let arr = []
let newArr = []
rl.on('line', (line) => {
    arr.push(line)
})
rl.on('close', () => {
    // 把两组数据放到新数组
    newArr.push(arr.slice(0 , 5));
    newArr.push(arr.slice(5));
    // 循环一下
    for(let arr of newArr){
        let [m, n] = arr[0].split(' ').map(Number)
        let [x1, y1, x2, y2] = arr[1].split(' ').map(Number)
        let m_insert = arr[2]
        let n_insert = arr[3]
        let [x, y] = arr[4].split(' ').map(Number)
        // 初始化表格
        if(m <= 9 && n <= 9){
            console.log(0)
        }else console.log(-1)
        // 交换单元格
        if(x1 <= m-1 && y1 <= n-1 && x2 <= m-1 && y2 <= n-1){
            console.log(0)
        }else console.log(-1)
        // 插入行
        if(m+1 <= 9 && m_insert < m){
            console.log(0)
        }else{
            console.log(-1)
        }
        // 插入列
        if(n+1 <= 9 && n_insert < n){
            console.log(0)
        }else{
            console.log(-1)
        }
        // 查询坐标
        // 1、数据表回复原值
        if(m+1 <= 9 && n+1 <= 9){
            if(x <= m-1 && y <= n-1) console.log(0)
            else console.log(-1)
        }
        // 2、数据表行增加
        if(m+1 <= 9 && n+1 > 9){
            if(x <= 9 && y <= 8) console.log(0)
            else console.log(-1)
        }
        // 3、数据表列增加
        if(m+1 > 9 && n+1 <= 9){
            if(x <= 8 && y <= 9) console.log(0)
            else console.log(-1)
        }
    }
})

除了繁琐没别的说……完全没用到任何技巧,全是条件硬怼,这题有没有更好解法?

全部评论

相关推荐

07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务