【python-双指针】pair with target sum

找不到该题对应leetcode的哪一题。。。

问题描述:

给定一个有序数组和一个目标和,在数组中找到一对和等于给定目标的数组,有就返回下标,没有就返回[-1,-1]。

例如:

s=[1,2,3,4,5,6,7,8],k=14,返回[5,7],也就是下标为5和下标为7的和为14:6+8=14。

题目很简单,初步了解一下双指针。

def solution(s,k):
    left = 0
    right = len(s)-1
    while left<right:
        if s[left]+s[right] > k:
            right -= 1
        elif s[left]+s[right] < k:
            left += 1
        else:
            return [left,right]
    return [-1,-1]

print(solution([1,2,3,4,5,6,7,8],14))
原文地址:https://www.cnblogs.com/xiximayou/p/12296562.html