本文主要是介绍剑指offer(C++)--和为S的两个数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,
如果有多对数字的和等于S,输出两个数的乘积最小的。
class Solution {
public:vector<int> FindNumbersWithSum(vector<int> array,int sum) {vector<int> result;int len = array.size();if(len<=1)return result;int Sum;int i = 0;int j = len - 1;while(i<j){Sum = array[i] + array[j];if(Sum>sum) j--;else if(Sum<sum) i++;else{result.push_back(array[i]);result.push_back(array[j]);break;}}return result;}
};
这篇关于剑指offer(C++)--和为S的两个数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!