LeetCode問題練習Easy編:Two sum問題

GAFAなどのテック企業の面接に必要なコーディングスキルを試すサイト、LeetCode

独学なためコーディングスキルが今ひとつなこと、また普段つかっていないとpythonのコーディングをすぐ忘れてしまうので練習がてら1日1−2題といてみることにした。

まずはEasy問題制覇を目論みる。

Two sum問題

リストの中の任意の二つの要素の和が与えられたターゲットに等しいものの、リスト番号を返すコード

簡単には組み合わせを考えればいいのだろうか?

class Solution(object):
   def twoSum(self, nums, target):
       for i in range(len(nums)):
           for j in range(i+1,len(nums)):
               if nums[i] + nums[j] == target:
                   return(i,j)
       

自分なりのコードはこんな感じ。

この問題辞書オブジェクトを利用したhashmapを利用するのがおしゃれなようで

hashmap = {}

for idx, num in enumerate(nums):
    rem  = target - num
       if rem in hashmap:
           return [hashmap[rem],idx]
      hashmap[num] = idx

というのが求められている答えみたいです

この記事が気に入ったらサポートをしてみませんか?