采集网站后台客户数据,wordpress前台出现旧版文件,帝国做企业网站,大专毕业设计网站和为 s 的两个数字 题目链接 LCR 179. 查找总价格为目标值的两个商品 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况#xff0c;返回任一结果即可。 示例 1#xff1a; 输入#xff1a;price [3, 9, 12, …和为 s 的两个数字 题目链接 LCR 179. 查找总价格为目标值的两个商品 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况返回任一结果即可。 示例 1 输入price [3, 9, 12, 15], target 18
输出[3,15] 或者 [15,3]示例 2 输入price [8, 21, 27, 34, 52, 66], target 61
输出[27,34] 或者 [34,27]题目解释
这道题是在数组中寻找两个元素,我们让他们的和恰好等于目标值就可以了.
算法原理
注意,这里我们寻找的是元素,不是什么下标.所以我们可以排序.这里是一道典型的双指针,还是碰撞类型的
num[left] num[right] target leftnum[left] num[right] target 拿到结果num[left] num[right] target right–
代码编写
class Solution
{
public:vectorint twoSum(vectorint price, int target){vectorint result(2);sort(price.begin(), price.end());int left 0;int right price.size() - 1;while (left right){int sum price[left] price[right];if (target sum){result[0] price[left];result[1] price[right];return result;}else if (sum target){left;}else{right--;}}return result;}
};