力扣题目0001——一维数组的动态和withC语言
这是自己的第一篇CSDN博客,也是第一次知道刷力扣要写文章加深理解,这里要感谢一位不愿意透露姓名的前辈大佬。
题目
给你一个数组 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]
int* runningSum(int* nums, int numsSize, int* returnSize)
{
int *runningSum=malloc(numsSize * sizeof(int));
* returnSize = numsSize;
int sum=0;
for(int i=0;i<numsSize;i++)
{
sum+=nums[i];
runningSum[i]=sum;
}
return runningSum;
}
对于C语言初学者和初次刷题的人来讲,上述代码中较为困难的点
- malloc函数用法的用法;
- 函数返回数组的方式;