1. 程式人生 > >LeetCode - two sum

LeetCode - two sum

height tar eas cnblogs for number 一個數 each blog

  Given an array of integers, return indices of the two numbers such that they add up to a specific target.

  You may assume that each input would have exactly one solution, and you may not use the same element twice.

  Example:

  Given nums = [2, 7, 11, 15], target = 9,

  Because nums[0] + nums[1] = 2 + 7 = 9,
  return [0, 1].

  C code:

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* twoSum(int* nums, int numsSize, int target) {
    
    int* p;
    int i, j;

    p = malloc(sizeof(int)*2);

    for(i = 0
; i < numsSize; i++) for(j = 0; j < numsSize; j++) { if(nums[i] + nums[j] == target && i != j) { p[0] = j; p[1] = i; break; } } return p; }

  Submission Result: Accepted

  題目是說給一個int *twoSum()函數,參數為指向整型數組的指針、數組的大小和一個數據,從數組中找到任意兩個數相加起來等於從主函數傳來的實參,返回數組中這兩個數的下標(note:下標不能相同,必須是兩個不同的數相加)。

LeetCode - two sum