196. 【应-45-1·简】排序数组两数之和

简单 Python 2s 256MB
通过 0/0

📋 题目描述
给定一个升序整数数组 a[1..N] 和目标值 target。请找出两个下标 i j(1<=i<j<=N),使得 a[i]+a[j]==target。若有多组解,输出 i 最小的那组(双指针自然得到)。若不存在,输出 `-1 -1`。
📥 输入描述
第一行两个整数 N target(2<=N<=10^5)。 第二行 N 个升序整数(空格分隔)。
📤 输出描述
一行两个整数 i j(1 起,i<j),中间空格分隔;不存在则输出 `-1 -1`。
输入样例
5
9
1
2
3
4
5
输出样例
4 5
提示:双指针:left=0, right=N-1。 a[left]+a[right] < target → left+=1;> → right-=1;== → 输出 (left+1, right+1)。 走完没找到则输出 -1 -1。

登录后提交代码

讨论区 0
登录后参与讨论

还没有讨论,来发表第一条吧!