leetcode新手村第一题
我想把它补全,然后修改着成了下面这副模样
#include
#include
int i,numsSize;
int nums[]={0};
int runningSum(int nums[], int numsSize) {
for (i = 1; i < numsSize; i++) {
nums[i] += nums[i - 1];
}
return nums[i];
}
int main()
{ printf("please input some size:");
scanf_s("%d", &numsSize);
printf("please input some numbers:\n");
for (i = 1; i < numsSize; i++)
{
scanf_s("%d ", &nums[i]);
}
runningSum(nums[i], numsSize);
printf("%d", nums[i]);
system("pause");
return 0;
}
读取位置时发生冲突,且无法输出结果
输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int i,j = 0;
int* Result = NULL;
for(i = 0;i < numsSize - 1;i++)
{
for(j = i + 1;j < numsSize;j++)
{
if(nums[i] + nums[j] == target)
{
Result = (int*)malloc(sizeof(int)*2);
Result[0] = i;
Result[1] = j;
*returnSize = 2;
return Result;
}
}
}
*returnSize = 0;
return Result;
}