题解 | #蛇形矩阵#

蛇形矩阵

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-03-05 13:58
感谢大佬分析的规律,步骤非常清晰,适合我这菜鸟,一步一步拆开来演绎之后,终于懂了。谢谢!
点赞 回复 分享
发布于 2022-08-08 11:35

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务