和为S的两个数字
来源:互联网 发布:淘宝怎么卖东西 编辑:程序博客网 时间:2024/06/08 05:30
题目描述
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输出描述:
对应每个测试案例,输出两个数,小的先输出。
数列满足递增,设两个头尾两个指针i和j,
若ai + aj == sum,就是答案(相差越远乘积越小)
若ai + aj > sum,aj肯定不是答案之一(前面已得出 i 前面的数已是不可能),j -= 1
若ai + aj < sum,ai肯定不是答案之一(前面已得出 j 后面的数已是不可能),i += 1
O(n)
class Solution {public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { int l = 0,h = array.size()-1; vector<int>res; while(l<h) { int n = array[l]+array[h]; if(n==sum) { res.push_back(array[l]); res.push_back(array[h]); break; } if(l<h&&n<sum) l++; if(l<h&&n>sum) h--; } return res; }};
阅读全文
0 0
- 和为S的两个数字
- 和为S的两个数字
- 找出和为S的两个数字
- 和为S的两个数字
- 【5】和为s的两个数字
- 和为S的两个数字
- 和为s的两个数字
- 和为s的两个数字
- 和为S的两个数字
- 和为S的两个数字
- 和为S的两个数字
- 和为s的两个数字
- 和为s的两个数字
- 牛客网 | 和为S的两个数字
- 和为s的两个数字
- 和为S的两个数字
- 和为S的两个数字
- 和为S的两个数字
- poj 3311 Hie with the Pie(状态压缩dp)
- Git使用的详细教程
- Windows下virtualenv和virtualenvwrapper的使用
- 乐乐音乐5.0-全面支持翻译和音译歌词
- mysql数据库面试总结
- 和为S的两个数字
- 事件冒泡
- raw和assets目录的区别
- HashMap多线程操作下的问题总结
- iOS11 初识ARKit
- 多线程访问静态方法中的静态变量
- VMware虚拟机NAT模式网络配置图文教程
- Linux基本操作指令
- 通过 raft 的 leader lease 来解决集群脑裂时的 stale read 问题