Saturday, April 23, 2016

LeetCode Online Judge-1. Two Sum

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.
Example:

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

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1]. 
 
//Java Program: Two Sum
public class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] a = new int[2];
        for(int i=0;i<nums.length-1;i++)
        {
            for(int j=i+1;j<nums.length;j++)
            if (nums[i]+nums[j]==target)
            {
                a[0] = i;
                a[1] = j;
                return a;
            }
        }
        return a;
    }
}
 
//C Program: Two Sum
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* twoSum(int* nums, int numsSize, int target) {
    int i, j;
    int *a = (int *) malloc(2*sizeof(int));
    for(i=0;i<numsSize-1;i++)
    {
        for(j=i+1;j<numsSize;j++)
        {
            if (nums[i]+nums[j]==target)
            {
                a[0] = i;
                a[1] = j;
                return a;
            }
        }
    }
    return a;
}

//C++ Program: Two Sum
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        
        vector<int> result(2);
        
        for(int i=0;i<nums.size()-1;++i) {
            for(int j=i+1;j<nums.size();++j) {
                if (nums[i] + nums[j] == target) {
                    result[0] = i;
                    result[1] = j;
                    return result;
                }
            }
        }
        
    }
};

No comments:

Post a Comment