1. Two Sum Python3


Problem


Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
You can return the answer in any order.
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Output: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:
Input: nums = [3,3], target = 6
Output: [0,1]
Constraints:
2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
Only one valid answer exists.

My code

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        explored = {}
        for i, num in enumerate(nums):
            remain = target - num
            
            if remain in explored:
                return [i, explored[remain]]
            else:
                explored[num] = i

Review


[運転結果]
Runtime: 60 ms/ Memory: 15.3MB
[方法]
ディックシーケンスを作成し、ターゲットからその数値を減算した数値がディックシーケンスにあるかどうかを決定します.
ループのキー値(数値位置)とマイナス記号のキー値を返します.
[感じ]
最初はディック圧電を使って、例外に集中すると、そんなifゲートが多くなります・・・どう考えてもそうではないと思い、ずるずると再出発しました.
{3,3}の場合、状況をどう処理するか分からず、気まずい思いをします.最後に,ループのキー値を一緒に返すことで,この問題を解決できることを学んだ.
コードで使用可能な変数を使用して、最大限に使用します.新しい奇妙なものを作らないでください.