今天看到一道简单的算法题
如果你想知道什么题? 既然你诚心诚意的发问了, 我就大发慈悲的告诉你!
给定一个数组 nums , 返回 nums 的动态和
数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。
例如:
给定 nums = [1, 2, 3, 4, 5]
返回 result = [1, 3, 6, 10, 15] 即 [1, 1+2, 1+2+3, 1+2+3+4, 1+2+3+4+5]
给定 nums = [2, 2, 2, 2]
返回 result = [2, 4, 6, 8] 即 [2, 2+2, 2+2+2, 2+2+2+2]
这道算法题比较简单
重点地方就是 "记住" 上一项和
//第一种方法
class Solution {
func runningSum(_ nums: [Int]) -> [Int] {
var result: [Int] = []
var sum = 0
for i in 0..<nums.count {
sum = sum + nums[i]
result.append(sum)
}
return result
}
}
//第二种方法
class Solution {
func runningSum(_ nums: [Int]) -> [Int] {
if(nums.count == 0){
return []
}
var result: [Int] = [nums[0]]
for index in 1..<nums.count {
result.append(result[index - 1] + nums[index])
}
return result
}
}
题目来源:力扣(LeetCode) 感谢力扣爸爸 :)
网友评论