一鸿建设设计网站,百家号排名,品牌推广岗位职责,行业网站建设作者#xff1a;前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 题库#xff1a;力扣 题目序号#xff1a;1480#xff08;简单#xff09; 题目#xff1a;一维数组的动态和
给你一个数组nums。数组「动态和」的计算公式为… 作者前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 题库力扣 题目序号1480简单 题目一维数组的动态和
给你一个数组nums。数组「动态和」的计算公式为runningSum[i] sum(nums[0]…nums[i]) 。
请返回nums的动态和。
示例 1
输入nums [1,2,3,4] 输出[1,3,6,10] 解释动态和计算过程为 [1, 12, 123, 1234] 。 示例 2
输入nums [1,1,1,1,1] 输出[1,2,3,4,5] 解释动态和计算过程为 [1, 11, 111, 1111, 11111] 。
解题思路 通过示例可以分析出两种情况 ①动态和的第一项和数组的第一项是一样的数值直接赋值 ②动态和的其余项第n项为从第1项累加到第n项需要计算 所以这里就可以通过一个if...else...去判断
对于② 可以设计一个函数接收当前第n项的n以及需要计算的数组 那么只需通过一个for循环和即可累加出结果
总的来说考验了对函数的设计、if...else...、for循环和等基础语法的运用
解题代码
function runningSum(nums: number[]): number[] {function sum(i:number,nums:number[]):number{let sumCount:number 0// 当i1时for(let j 0;ji;j){// sumCount nums[0] 1 sumCount nums[j] }return sumCount}let arr:number[] []for(let i 0;inums.length;i){// 当i0时也就是第一项恒定是输入的第一项if(i0){arr[0] nums[0]}else{// 当i!0时假设数组下标到了i1那么sum(1,nums),返回的是arr[i] sum(i,nums)}}return arr
};解题过程示例 略