type
status
date
slug
summary
tags
category
icon
password
创建时间
Dec 17, 2024 01:29 AM
给你两个整数
n
和 k
。最初,你有一个长度为
n
的整数数组 a
,对所有 0 <= i <= n - 1
,都有 a[i] = 1
。每过一秒,你会同时更新每个元素为其前面所有元素的和加上该元素本身。例如,一秒后,a[0]
保持不变,a[1]
变为 a[0] + a[1]
,a[2]
变为 a[0] + a[1] + a[2]
,以此类推。返回
k
秒后 a[n - 1]
的值。由于答案可能非常大,返回其对
109 + 7
取余 后的结果。动态规划
时间(秒) | 数组状态 |
0 | [1,1,1,1] |
1 | [1,2,3,4] |
2 | [1,3,6,10] |
3 | [1,4,10,20] |
4 | [1,5,15,35] |
5 | [1,6,21,56] |
例如上面的组合,
第 2 秒:第 2 个位置是 6(已经计算过了
a[0] + a[1] + a[2]
),第 3 个位置可以在第 2 个位置的计算结果上,加上 a[3]
(a[0] + a[1] + a[2] + a[3]
),就是这个位置当前的结果。因此,状态转移方程如下:
组合数学


计算的是杨辉三角第 排的第 个数, 即
总结
题目同 62. 不同路径