题目链接:LCR179.查找总价格为目标值的两个商品(简单)
算法思路:
解法一:暴力求解:两层for循环(会超时)

解法二:对撞双指针

Java代码:
/*** Created with IntelliJ IDEA.* Description:* User: 王洋* Date: 2025-08-28* Time: 23:36*/
class Solution {//和为s的两个数字/*购物车内的商品价格按照升序记录于数组 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]提示:1 <= price.length <= 10^51 <= price[i] <= 10^61 <= target <= 2*10^6*/public int[] twoSum(int[] price, int target) {int left=0,right=price.length-1;while(left<right){if(price[left]+price[right]==target) return new int[]{price[left],price[right]};else if(price[left]+price[right]<target) left++;else if(price[left]+price[right]>target) right--;}//随便返回一个值,照顾编译器return new int[]{left,right};}
}