Leetcode 2합 문제 | DSA | 파이썬
5274 단어 careertutorialpythoncodenewbie
무차별 접근 방식과 최적 접근 방식을 모두 설명하려고 노력했습니다. 쉬운 2합 문제 풀이. DSA 라운드나 SDE 인터뷰를 준비하고 있다면 이것은 당신을 위한 것입니다. 질문이 있으시면 언제든지 댓글을 남겨주세요.
문제
정수 nums의 배열과 정수 target이 주어지면 두 숫자의 인덱스를 반환하여 합계가 target이 되도록 합니다.
각 입력에 정확히 하나의 솔루션이 있다고 가정할 수 있으며 동일한 요소를 두 번 사용할 수 없습니다.
어떤 순서로든 답변을 반환할 수 있습니다.
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 : [무차별 대입 방법]
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
이 문제에 관하여(Leetcode 2합 문제 | DSA | 파이썬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/arpan45/leetcode-two-sum-problem-dsa-python-hba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)