2つの合計問題
4932 ワード
Leetcode 2つの合計問題関連
私はBruteforceアプローチだけでなく、最適なアプローチを説明しようとしました.簡単な2つの合計問題解決.あなたがDSAラウンドまたはSDEインタビューのために準備しているならば、これはあなたのためです.あなたが質問をするならば、コメントを残して自由に感じてください.
整数numsと整数ターゲットの配列が与えられた場合、2つの数値のインデックスを返します.
それぞれの入力が1つの解決策を持っていると仮定することができます.
任意の順序で答えを返すことができます.
私はBruteforceアプローチだけでなく、最適なアプローチを説明しようとしました.簡単な2つの合計問題解決.あなたがDSAラウンドまたはSDEインタビューのために準備しているならば、これはあなたのためです.あなたが質問をするならば、コメントを残して自由に感じてください.
https://leetcode.com/problems/two-sum/ 問題
整数numsと整数ターゲットの配列が与えられた場合、2つの数値のインデックスを返します.
それぞれの入力が1つの解決策を持っていると仮定することができます.
任意の順序で答えを返すことができます.
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:
Input: nums = [3,3], target = 6
Output: [0,1]
解決1:[Bruteforce法]from typing import List
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
for j in range(i, len(nums)):
if i!=j:
if nums[i] + nums[j] == target:
return [i, j]
解決2:[最適解]from typing import List
def twoSum(list: List[int], target: int) -> List[int]:
if len(list) <= 1:
return 'Please pass an array with atleast two elements'
hashTable = {}
for i in range(len(list)):
complement = target - list[i]
if complement in hashTable:
return [list.index(complement), i]
hashTable[list[i]] = list[i]
私は解決策を説明するビデオを作成しました.Reference
この問題について(2つの合計問題), 我々は、より多くの情報をここで見つけました https://dev.to/arpan45/leetcode-two-sum-problem-dsa-python-hbaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol