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; } }