题解 | #蛇形矩阵#

蛇形矩阵

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

首先分析首行规律,首行每个数字和前一个数字的差值每次都增加1 即增量每迭代1次就加1

分析行之间差距 每一行取上一行第一位数字之外的元素,并对每个元素减去1即可

def get_first_line(count):
    arr, increase = [1], 2
    for i in range(1, count):
        arr.append(arr[i - 1] + increase)
        increase += 1
    return arr


def get_all_lines(arr):
    result = []
    # result.append(arr)
    count = len(arr)
    for i in range(count):
        result.append(arr)
        arr = [value - 1 for value in arr[1:]]
    return result


while True:
    try:
        arr1 = get_first_line(int(input()))
        res = get_all_lines(arr1)
        for x in res:
            for num in x:
                print(num, end=' ')
            print()
    except EOFError: break
全部评论
感谢大佬分析的规律,步骤非常清晰,适合我这菜鸟,一步一步拆开来演绎之后,终于懂了。谢谢!
点赞 回复 分享
发布于 2022-08-08 11:35
每行的数字有规律???
点赞 回复 分享
发布于 2022-03-05 13:58

相关推荐

05-28 12:43
已编辑
天津中德应用技术大学 Java
给个offer吧😭...:现在27都结束了,28都开始了。还要1k人啊。更别说你这个bg,现在92都不一定随便进1k人的(除了外包)。只能和我一样海投了,社招也投
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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