一维数组的动态和
数组 动态 一维
2023-09-14 09:06:54 时间
一维数组的动态和
给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。
请返回 nums 的动态和。
这题比较简单,一次遍历就行,我们可以采用累加法,直接就可以得到我们想要的动态和数组;
代码如下:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* runningSum(int* nums, int numsSize, int* returnSize){
int i,j;
for(i=1;i<numsSize;i++){
nums[i]=nums[i]+nums[i-1];
}
*returnSize=numsSize;
return nums;
}
这里也有一些人参考动态规划算法得到的结果,可以了解
int* runningSum(int* nums, int numsSize, int* returnSize){
if(numsSize == 0)
{
*returnSize = 0;
return NULL;
}
int *dp = (int *)malloc(sizeof(int) * numsSize);
if(dp == NULL)
{
return NULL;
}
dp[0] = nums[0];
for(int i = 1; i < numsSize; i++)
{
dp[i] = dp[i - 1] + nums[i];
}
*returnSize = numsSize;
return dp;
}
相关文章
- 数组、链表、队列、栈的区别和联系
- JAVA数组
- poj 3486 A Simple Problem with Integers(树状数组第三种模板改段求段)
- Java实现 LeetCode 718 最长重复子数组(动态规划)
- Java实现 LeetCode 629 K个逆序对数组(动态规划+数学)
- Java实现 蓝桥杯 算法训练 动态数组使用
- Java实现 蓝桥杯 算法训练 动态数组使用
- list,set,map,数组之间的相互转换详细解析
- (剑指Offer)面试题36:数组中的逆序对
- 剑指 Offer II 011. 0 和 1 个数相同的子数组
- LeetCode-1800. 最大升序子数组和【动态规划,滚动数组】
- LeetCode-380. O(1) 时间插入、删除和获取随机元素【哈希表,动态数组,随机数】
- 153. 寻找旋转排序数组中的最小值
- C语言/C++常见习题问答集锦(四十一) 之数组的动态与静态
- linux shell数组动态在for中追加元素及其遍历
- Android JNI数组的处理
- 动态加载不适合数组类?那如何动态加载一个数组类?
- js 动态设置键值对数组 ,类似于 java 的Map 类型
- 410. 分割数组的最大值-前缀和加动态规划算法
- 2439. 最小化数组中的最大值-暴力解法+动态规划法
- 【C语言】之实现数组中查找最大值、最小值和第二大值
- [LeetCode] 523. 连续的子数组和 ☆☆☆(动态规划)
- 一维动态规划——字符串,可以使用dfs+cache,也可以改写为dp数组
- 博弈型动态规划模板——精髓:把两个选手当成一个人,每次面对a[i…j]选最优解,用dfs+cache做最直观,再考虑修改为dp数组
- golang 切片slice使用总结(动态数组、cap与len区别)
- 动态数组的删除和销毁功能实现
- Go集合类型 Array数组
- C语言进阶-指针与数组