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. 不同路径