题解 | #蛇形矩阵#

蛇形矩阵

https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

package main
import (
	"fmt"
)

func main() {
	n := 0
	fmt.Scanln(&n)

	arrN := make([][]int, n)
	for i := 0; i < len(arrN); i++ {
		arrN[i] = make([]int, n)
	}

	sum := 1
	for i := 0; i < n; i++ {
		for j := 0; j <= i; j++ {
			arrN[i-j][j] = sum
			sum++
		}
	}

	//输出
	for i := 0; i < n; i++ {
		for j := 0; j < n-i; j++ {
			fmt.Printf("%d ", arrN[i][j])
		}
		fmt.Println()
	}
}

错误代码:

以下是使用Golang实现输出蛇形矩阵的代码:

package main
import "fmt"
func main() {
var n int
fmt.Scanln(&n)

matrix := make([][]int, n)
for i := 0; i < n; i++ {
    matrix[i] = make([]int, n-i)
}

num := 1
for i := 0; i < n; i++ {
    for j := 0; j < n-i; j++ {
        matrix[i][j] = num
        num++
    }
}

for i := 0; i < n; i++ {
    for j := 0; j < n-i; j++ {
        fmt.Printf("%d ", matrix[i][j])
    }
    fmt.Println()
}
}

你可以使用上述代码输出一个N行的蛇形矩阵。例如,当输入为5时,输出的蛇形矩阵为:

1 3 6 10 15

2 5 9 14

4 8 13

7 12

11

错误代码:

package main

import "fmt"

func main() {
    var n int
    fmt.Scanln(&n)

    matrix := make([][]int, n)
    for i := 0; i < n; i++ {
        matrix[i] = make([]int, n)
    }

    num := 1
    for i := 0; i < n; i++ {
        if i%2 == 0 {
            for j := 0; j < n; j++ {
                matrix[i][j] = num
                num++
            }
        } else {
            for j := n - 1; j >= 0; j-- {
                matrix[i][j] = num
                num++
            }
        }
    }

    for i := 0; i < n; i++ {
        for j := 0; j < n-i; j++ {
            fmt.Printf("%d ", matrix[i][j])
        }
        fmt.Println()
    }
}

全部评论

相关推荐

暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。 卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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