给你两个整数 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] 的值,由于答案可能非常大,返回其对 10^9 + 7 取余后的结果。
一行,包含两个整数 n 和 k,以空格分隔。
输出一个整数,表示 k 秒后数组最后一个元素的值对 10^9 + 7 取模的结果。
4 5
56
5 3
35
1 <= n, k <= 1000初始数组:[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]
所以答案为 56。
初始数组:[1, 1, 1, 1, 1]
| 时间(秒) | 数组状态 |
|---|---|
| 0 | [1, 1, 1, 1, 1] |
| 1 | [1, 2, 3, 4, 5] |
| 2 | [1, 3, 6, 10, 15] |
| 3 | [1, 4, 10, 20, 35] |