什麼原來可以蓋掉原本的array直接回傳就好了嗎!
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* runningSum(int* nums, int numsSize, int* returnSize){
int runSum=0;
int* returnArray = malloc(sizeof(int)*numsSize);
*returnSize = numsSize;
for(int i=0;i<numsSize; i++)
{
runSum+=nums[i];
returnArray[i]=runSum;
}
return returnArray;
}
精簡以後變這樣 :
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* runningSum(int* nums, int numsSize, int* returnSize){
*returnSize = numsSize;
for(int i=1;i<numsSize; i++)
nums[i]=nums[i-1]+nums[i];
return nums;
}
但是速度反而變慢了是怎麼回事XD~ 奇怪OrzL
沒有留言:
張貼留言