11

【力扣每日一题】第一题,一维数组的动态和

 2 years ago
source link: https://blog.51cto.com/u_15572441/5780308
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【力扣每日一题】第一题,一维数组的动态和

精选 原创

一零零一 2022-10-20 16:35:51 ©著作权

文章标签 数组 oj题 力扣刷题 文章分类 C/C++ 编程语言 yyds干货盘点 阅读数187

给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。

请返回 nums 的动态和。

输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。

输入: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]

接口型模板

/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* runningSum(int* nums, int numsSize, int* returnSize){

}

首先我们要搞清楚力扣上接口型模板的参数是什么

int* nums毫无疑问这个就是我们用来接受一维数组形参,而numSize则是用来统计数组个数的

而returnSize返回的元素也就是说我们最终会根据returnSize这个指针所指向空间的数据来决定数组输出的个数

简单的来说就是*returnSize的值就是最后我们输出的数组中元素的个数它是1我们就输出1个数[1],他是4我们就从第一位往后输出四个数[1,3,6,10]。

int* runningSum(int* nums, int numsSize, int* returnSize){
for(int i = 1;i<numsSize;i++)
{
nums[i] += nums[i-1];
}
*returnSize = numsSize;
return nums;
}

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK