長野エンジニアライフ

東京から長野に移住したエンジニアのブログです。🦒🗻⛰

【Pythonで解くLeetCode】 1. Two Sum

問題

leetcode.com Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

与えられたコード

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        

解答コード

  • 全探索
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        result = []
        for i in range(len(nums)):
            for j in range(i,len(nums)):
                if nums[i] + nums[j] == target:
                    result = [i, j]
                    break;
        return result;

【解説】
入力された配列numsの大きさをnとすると

  • 時間計算量:O(n2)
  • 空間計算量:O(1)

学習メモ