• Leetcode 1480. 一维数组的动态和 前缀和数组的计算


    地址 https://leetcode-cn.com/problems/running-sum-of-1d-array/

    给你一个数组 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
    

    解答
    本题目就是前缀和数组的计算过程

    另开一个数组的代码如下

    class Solution {
    public:
        vector<int> runningSum(vector<int>& nums) {
            int n = nums.size();
            vector<int> presum(n);
            presum[0] = nums[0];
            for(int i = 1;i < n;i++){
                presum[i] = nums[i]+presum[i-1];         
            }
    
            return presum;
        }
    };
    

    直接在输入数组中进行调整的代码

    class Solution {
    public:
        vector<int> runningSum(vector<int>& nums) {
            for(int i = 1; i< nums.size();i++){
                nums[i] = nums[i]+nums[i-1];
            }
            return nums;
        }
    };
    

    我的视频题解空间

    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    Clouds
    docs
    虚拟化监控问题
    Openstack Ceilometer监控项扩展
    openStack ceilometer API
    sql分级汇总
    【Android归纳】阿里笔试题之Android网络优化
    享元模式
    【Hibernate步步为营】--核心对象+持久对象全析(三)
    Linux经常使用命令(三)
  • 原文地址:https://www.cnblogs.com/itdef/p/15359877.html
Copyright © 2020-2023  润新知