题解 | #二维数组操作#

二维数组操作

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

这道题可以用switch case来解决,完整代码如下:
//新建index变量,初始值为0;
let index = 0;
//新建m,n变量;
let m, n;
while (line = readline()) {
    //每次读取一行字符串,index+1;
    index += 1;
    //新建并初始化output值为0;
    let output = 0;
    //switch index%5的值
    switch (index % 5) {
        //如index%5 == 1,下面case2, case3。。。模式一样;
        case 1 :
            [m, n] = line.split(' ').map(Number);
            if (m > 9 || n > 9) {
                output = -1;
            }
            //注意break的使用,否则因为几个case并不是非此即彼的关系,而是同等并列的关系,如没有break
            //则在同一次循环中,程序会继续往下走;
            break;
        case 2 :
            let arr2 = line.split(' ').map(Number);
            if (arr2[0] > m-1 || arr2[2] > m-1 || arr2[1] > n-1 && arr2[3] > n-1) {
                output = -1;
            }
            break;
        case 3 :
            let x1 = parseInt(line);
            if (m + 1 > 9 || x1 > m - 1) {
                output = -1;
            } 
            break;
        case 4 :
            let y1 = parseInt(line);
            if (n + 1 > 9 || y1 > n - 1) {
                output = -1;
            }
            break;
        case 0 :
            let [x2, y2] = line.split(' ').map(Number);
            if (x2 > m - 1 || y2 > n - 1) {
                output = -1;
            }
            break;
    }
    
    console.log(output);
}


全部评论

相关推荐

Java抽象带篮子:简历怎么写可以看看我发的帖子,你的第一个是实习经历吗?那怎么写的是你的第一个练手项目呢?简历写的怎么样直接投小厂面试一下就知道了
没有实习经历,还有机会进...
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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