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
というのが求められている答えみたいです