JZ42 和为S的两个数字
和为S的两个数(首尾指针寻找)
1、i,j分别指向首尾指针。
当a[i]+ a[j] > sum 时,j–。
当a[i]+ a[j] < sum 时,i++。
当a[i]+ a[j] == sum 时,直接返回a[i],a[j]。
2、不用判断相乘值是否为最小值,对于a+b=n。
当|a-b|最大的时候ab最小
当|a-b|最小时候ab最大。
class Solution {
public:
vector FindNumbersWithSum(vector a,int sum) {
if(a.e
原创
2021-07-08 21:46:32 ·
44 阅读 ·
0 评论