1.Two Sum

class Solution:
    def twoSum(self, nums, target):
        """
        :param nums: List[int]
        :param target:int
        :return:Lsit[int]
        """
        reverse = {}
        for i , v in enumerate(nums):
            remain = target - v
            if remain in reverse:
                return [reverse[remain], i]
            reverse[v] = i

Java 版:

class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        int[] res = new int[2];
        for(int i = 0; i < nums.length; i++){
            if(map.containsKey(target - nums[i])){
                res[0] =  map.get(target - nums[i]);
                res[1] = i;
                break;
            }
            else map.put(nums[i], i);
        }
        return res;
    }
}
原文地址:https://www.cnblogs.com/luo-c/p/12857107.html