같은 문제 다른 언어로 푼 것.
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
*returnSize = 2;
int* newArr = (int*)malloc((*returnSize) * sizeof(int));
int i, j;
for(i = 0; i < numsSize-1; i++){
for(j = i+1; j < numsSize; j++) {
if(target == nums[i] + nums[j]) {
newArr[0] = i;
newArr[1] = j;
return newArr;
}
}
}
return NULL;
}
자바나 씨로 풀면 각각의 장단점이 있는 듯 하다.
자바의 경우, 런타임은 빠르나 메모리는 많이 잡아먹고(지금 이 정도의 코드 가지고 많이라고 하기에도 민망하지만 -_-)
씨의 경우, 런타임 시간은 많이 드나 메모리는 확실히 적게 든다.