Python의 세 숫자 합(2 포인터)

Three Number Sum은 leetcode에서 n 정수의 배열 숫자가 주어지는 인기 있는 문제입니다. a + b + c = 0과 같은 숫자에 a, b, c 요소가 있습니까? 배열에서 합이 0인 고유한 세 쌍을 모두 찾습니다.

leetcode의 문제 링크: here

전체 Python 솔루션은 다음과 같습니다.

def threeNumberSum(array, targetSum):
    array.sort()
    result = []
    for i in range(len(array) - 2):
        left = i + 1
        right = len(array) - 1
        while left < right:
        currSum = array[i] + array[left] + array[right]
        if currSum == targetSum:
             res.append([array[i], array[left], array[right]])
             left += 1
             right -= 1
        elif currSum < targetSum:
             left += 1
        elif currSum > targetSum:
             right -= 1
    return result

좋은 웹페이지 즐겨찾기