java解法:
class Solution {
public int[] twoSum(int[] nums, int target) {
int [] arr = new int[2];
for(int i = 0;i<nums.length;i++)
{
int m = target-nums[i];
for(int j = 0;j<nums.length&&i!=j;j++)
{
if(nums[j]==m)
{
arr[0] = j;
arr[1] = i;
}
}
}
return arr;
}
}
C解法:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
for(int i = 0;i<numsSize;i++)
for(int j = i+1;j<numsSize;j++)
if(nums[i]+nums[j]==target)
{
int *ret = malloc(sizeof(int)*2);
ret[0]=i;ret[1]=j;
*returnSize=2;
return ret;
}
*returnSize=0;
return NULL;
}
Python解法:
class Solution(object):
def twoSum(self, nums, target):
num_dict = {}
for i,num in enumerate(nums):
diff = target - num
if diff in num_dict:
return [num_dict[diff],i]
else:
num_dict[num] = i