题解 | #不重复打印排序数组中相加和为给定值的所有二元组#

不重复打印排序数组中相加和为给定值的所有二元组

http://www.nowcoder.com/practice/1ff1a607c81748baa1823ffa687d74c4

n, k = map(int, input().split())
arr = list(map(int, input().split()))
i, j = 0, n - 1
re = set()
while i < j:
    if arr[i] + arr[j] == k:
        if (arr[i], arr[j]) not in re:
            re.add((arr[i], arr[j]))
            print(arr[i], arr[j])
        j -= 1
    elif arr[i] + arr[j] > k:
        j -= 1
    else:
        i += 1

全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务