LeetCode : Two Sum (Easy)


0. Overview

  • 回答日:2021-06-09
  • プール:10m
  • LeetCode URL : https://leetcode.com/problems/two-sum/
  • 1. Problem



    2. Solution

    def twoSum(nums, target):
            seen = {}
            for i, v in enumerate(nums):
                remaining = target - v
                if remaining in seen:
                    return [seen[remaining], i]
                seen[v] = i
            return []

    3. Review

  • 初めて問題が報告されたとき,Brute Forceアルゴリズムを用いて問題を迅速に解決したが,時間的複雑さ O(n2)\displaystyle\O(n^2) O(n 2)であるため,Leet Code内の解を参照し,どのように良く研究したかを検討した.
  • LeetCodeソリューションのOne-pass Hash Tableメソッドは、時間的な複雑さをもたらします. O(n)\displaystyle\O(n) O(n)と空間複雑度 O(n)\displaystyle\O(n) O(n)を使用してトラブルシューティングを行います.
  • ビットソリューションについては、One-pass Hash Tableメソッドを使用して解答する.