LeetCode 训练场:1480. 一维数组的动态和

简介: LeetCode 训练场:1480. 一维数组的动态和

1. 题目

1480. 一维数组的动态和


2. 描述

给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。


请返回 nums 的动态和。


示例 1:


**输入:**nums = [1,2,3,4]

输出:[1,3,6,10]

**解释:**动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。


示例 2:


**输入:**nums = [1,1,1,1,1]

输出:[1,2,3,4,5]

**解释:**动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。


示例 3:


**输入:**nums = [3,1,2,10,1]

输出:[3,4,6,16,17]


提示:


1 <= nums.length <= 1000

-10^6 <= nums[i] <= 10^6

3. 思路

先用一个数组 staticSum 来存储最终结果,该数组与 nums 长度相等

然后用一个中间变量 sum 来存放索引位置小于 i 的所有元素和

然后 staticSum 中索引位置为 i 的元素,就是 sum

时间复杂度为 O ( n ) O(n)O(n)

4. 实现

public static int[] runningSum(int[] nums) {
    // 动态和
    int sum = 0;
    // 最终结果
    int[] staticSum = new int[nums.length];
    for (int i = 0; i < nums.length; i++) {
        sum += nums[i];
        staticSum[i] = sum;
    }
    return staticSum;
}
目录
相关文章
|
3天前
|
索引
力扣随机一题 6/26 哈希表 数组 思维
力扣随机一题 6/26 哈希表 数组 思维
5 0
|
3天前
|
存储 算法 索引
力扣每日一题 6/24 模拟 数组 单调栈
力扣每日一题 6/24 模拟 数组 单调栈
6 0
|
3天前
力扣随机一题 哈希表 排序 数组
力扣随机一题 哈希表 排序 数组
6 1
|
3天前
|
存储 算法
力扣每日一题 6/20 数学+数组
力扣每日一题 6/20 数学+数组
5 1
|
3天前
|
缓存
力扣每日一题 6/14 动态规划+数组
力扣每日一题 6/14 动态规划+数组
6 1
|
17天前
|
C++ Python
二刷力扣--数组
二刷力扣--数组
|
18天前
|
索引
【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值
【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值
|
18天前
|
算法
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
|
22天前
|
存储 算法 数据可视化
深入解读力扣154题:寻找旋转排序数组中的最小值 II(多种方法及详细ASCII图解)
深入解读力扣154题:寻找旋转排序数组中的最小值 II(多种方法及详细ASCII图解)
|
22天前
|
存储 算法 数据可视化