leetcode|动态规划之简单验收

今天是 Kevin 的算法之路的第 18 天。为大家讲解 LeetCode 第 1480 题,有读者表示最近几题有点难度,今天就来一道简单的缓一缓叭(我当然不会告诉你其实是我时间匆忙姑且水一道简单题 手动狗头 😄

每日一笑

早起的好处:拥有更多时间,能吃到美味的早饭,头脑清醒,抑郁几率小,改善皮肤,提高免疫力。

赖床的好处:爽。

题目描述

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/running-sum-of-1d-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

这题很简单粗暴,直接循环就完事!但是也有动态规划的思想

res[0] = nums[0] ( i = 0)

res[i] = res[i-1] + nums[i] ( i > 0)

相信大家都懂,不多解释,直接上代码

代码实现

//go
func runningSum(nums []int) []int {
    length := len(nums)
    res := make([]int, length)
    if length < 1 {
        return res
    }
    res[0] = nums[0]
    for i := 1; i < length; i++ {
        res[i] = res[i-1] + nums[i]
    }
    return res
}
//java 
class Solution {
     public int[] runningSum(int[] nums) {
         int res[] = new int[nums.length];
         res[0] = res[0];
         for(int i = 1;i < nums.length ;i++){
             res[i] = res[i-1] + nums[i];
         }
         return res;
     }
 }

郑重声明:

所展示代码已通过 LeetCode 运行通过,请放心食用~

在唠唠嗑

很多人都想养成好习惯,但大多数人却是三分钟热度。为了我们能一起坚持下去,决定制定如下计划(福利)

一起学算法,打卡领红包!

参与方式:

关注我的微信公众号「Kevin的学堂」

还可「加群」与众多小伙伴

一起坚持,一起学习,一起更优秀!

打卡规则为:

「留言」“打卡XXX天” ➕「分享」到朋友圈

奖励:

连续打卡 21 天,联系本人获取 6.6 元红包一个!

连续打卡 52 天,联系本人获取 16.6 元红包一个!

连续打卡 100 天,联系本人获取 66.6 元红包一个!

个人精力不够,内容主要发布在公众号平台,其他平台可能更新不及时,还望见谅~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值