Go 刷 leetcode|动态规划之简单验收
今天为大家讲解 LeetCode 第 1480 题,有读者表示最近几题有点难度,今天就来一道简单的缓一缓叭(我当然不会告诉你其实是我时间匆忙姑且水一道简单题 :-D
题目描述
给你一个数组 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 运行通过,请放心食用~
推荐阅读
站长 polarisxu
自己的原创文章
不限于 Go 技术
职场和创业经验
Go语言中文网
每天为你
分享 Go 知识
Go爱好者值得关注