力扣刷题[3179]--K秒后第N个元素的值(Python)

题目地址:K秒后第N个元素的值

题目陈述:

给你两个整数 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 取余 后的结果。

示例 1:

输入:n = 4, k = 5

输出:56

解释:

时间(秒) 数组状态
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:

输入:n = 5, k = 3

输出:35

解释:

时间(秒) 数组状态
0 [1,1,1,1,1]
1 [1,2,3,4,5]
2 [1,3,6,10,15]
3 [1,4,10,20,35]

提示:

  • 1 <= n, k <= 1000

 题目解决: 

class Solution:
    def valueAfterKSeconds(self, n: int, k: int) -> int:
        data = [1 for _ in range(n)]
        for _ in range(k):
            for j in range(1,n):
                data[j] = (data[j]+data[j-1])
        return data[-1]%(10**9 + 7)

思路与总结 :

        知识点涉及求前缀和问题,首先初始化n个为1的数据data,在k秒范围内,对data进行求前缀和操作,需要注意的是该操作的次数是每秒n-1次,程序返回最后一秒,最后一次求和操作的取余结果。

相关推荐

  1. [3179]--KN元素(Python)

    2024-06-11 09:52:01       12 阅读
  2. 215. 数组中K最大元素

    2024-06-11 09:52:01       45 阅读
  3. 每日一590N叉树序遍历

    2024-06-11 09:52:01       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-11 09:52:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-11 09:52:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-11 09:52:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-11 09:52:01       18 阅读

热门阅读

  1. 数据库原理(概论)——(1)

    2024-06-11 09:52:01       9 阅读
  2. 使用 C# 学习面向对象编程:第 3 部分

    2024-06-11 09:52:01       9 阅读
  3. 【数据结构】KMP算法

    2024-06-11 09:52:01       11 阅读
  4. Qt QStackedWidget类详细分析

    2024-06-11 09:52:01       11 阅读
  5. Python中的元编程(metaprogramming)概念

    2024-06-11 09:52:01       9 阅读
  6. 关于样本方差的分母是 ( n-1 ) 而不是 ( n )的原因

    2024-06-11 09:52:01       8 阅读
  7. YOLOv10、YOLOv9 和 YOLOv8 在实际视频中的对比

    2024-06-11 09:52:01       7 阅读
  8. Python中使用SQLite和SQLAlchemy

    2024-06-11 09:52:01       8 阅读
  9. 如何用visual studio 2022创建MAUI的Hello world程序

    2024-06-11 09:52:01       5 阅读