题解 | #杨辉三角的变形#

杨辉三角的变形

http://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43

# //杨辉三角规律                                    行号    第一个偶数在该行第几个
# //                    1                           1             -1
# //                1   1   1                       2             -1
# //            1   2   3   2   1                   3              2
# //         1  3   6   7   6   3   1               4              3
# //      1  4  10  16  19  16  10  4  1            5              2
# //   1  5  15 30  45  51  45  30  15 5  1         6              4
# //
# //  首个偶数在该行第几个的规律: -1 -1 (2 3 2 4)···(2 3 2 4)
#穷举出所求行的数字,判断所求行偶数的位置
while True:
    try:
        n = int(input())
        arr = [[] for i in range(n)]
        arr[0] = [1]
        arr[1] = [1,1,1]

        m = 2
        while m < n :
            column_num = 2*m + 1
            for i in range(column_num):
        #         print(i)
        #         print(arr[m-1][i-2 if i-2 >=0 else 0:i+1])
                arr[m].append(sum(arr[m-1][i-2 if i-2 >=0 else 0:i+1]))
            m = m+1
        def cal(n,arr):
            for i,j in enumerate(arr[n-1]):
                if j%2 == 0:
                    return i+1
            return -1
        index = cal(n,arr)
        print(index)
    except:
        break
全部评论
输入为1会报错,因为设置了arr[1],加个判断能正常用,但是会超出内存范围
2
送花
回复
分享
发布于 2021-11-21 18:18
大佬 我看不懂啊 我还有救么
1
送花
回复
分享
发布于 2022-09-17 20:43 广东
秋招专场
校招火热招聘中
官网直投
前辈 ,你好 ,可以请教 你几个问题吗?
点赞
送花
回复
分享
发布于 2021-10-17 12:35
你是真的牛皮,直接按题目把图都整出来了
点赞
送花
回复
分享
发布于 2022-10-15 17:18 陕西
和我的思路一样,但是会超时
点赞
送花
回复
分享
发布于 2023-09-13 21:18 广东

相关推荐

15 5 评论
分享
牛客网
牛客企业服务