【Leetcode】Pythonは2つの数の和を実現
整数配列とターゲット値を指定し、配列とターゲット値の2つの数を見つけます.
入力ごとに1つの答えしか対応せず、同じ要素が再利用できないと仮定できます.
例:
与えられたnums=[2,7,11,15],target=9
nums[0]+nums[1]=2+7=9なので[0,1]を返します
ここではenumerate()も使えますが、もっと便利です.
テスト例:
入力ごとに1つの答えしか対応せず、同じ要素が再利用できないと仮定できます.
例:
与えられたnums=[2,7,11,15],target=9
nums[0]+nums[1]=2+7=9なので[0,1]を返します
ここではenumerate()も使えますが、もっと便利です.
class Solution(object):
def twoSum(self, nums, target):
#
for i in range(len(nums)):
# target ,
num2 = target - nums[i]
#
if num2 in nums:
# , , ,
j = nums.index(num2)
# , return,
if i != j:
# if
return [i, j] if i < j else [j, i]
テスト例:
solu = Solution()
print(solu.twoSum([2, 7, 11, 15], 9))
print(solu.twoSum([3, 3, 4], 6))
print(solu.twoSum([3, 2, 4], 6))