Giải bài 01 Two Sum O(N)

Đề bài:

Bài giải:

Code Python

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        dic = dict()
        for i, num in enumerate(nums):
            x = target - num
            if x in dic:
                return dic[x], i
            dic[num] = i

Nhờ các bạn code với ngôn ngữ khác

3 Likes

Java Code

class Solution {
    public int[] twoSum(int[] nums, int target) {
        HashMap<Integer, Integer> map = new HashMap();
        int[] output = null;
        for(int i = 0; i < nums.length; i++)
        {
            if(map.containsKey(target - nums[i]))
            {
                output =  new int[]{map.get(target - nums[i]),i};
                break;
            }
            else map.put(nums[i], i);
        }
        return output;      
    }
}
3 Likes

C++ code

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        map< int , int > mp;
        for(int i = 0; i < nums.size(); ++i){
            int x = target - nums[i];
            if(mp.count(x)) return { i, mp[x] };
            mp[nums[i]] = i;
        }
        return { -1, -1 };
    }
};
1 Like

Php các bác nhẹ tay

class Solution {
    function twoSum($nums, $target) {
        $count=count($nums);
        for($i=0;$i<=$count-1;$i++){
            $so_2=$target-$nums[$i];
            $i_2=array_search($so_2,$nums);
            if($i_2){
                $result=array($i,$i_2);
                return $result;
            }
        }
    }
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?