寒假打卡:2026-01-24

日常学习:

购物车内的商品价格按照升序记录于数组 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(暴力算法):固定第一个数,依次循环后面的数,直至和为target

伪代码:

for(i=0;i<n;i++)

for(j=i+1;j<n;j++)

check(pricei+pricej==target)

解法2(双指针算法):利用单调性,使用双指针算法(left,right),直至sum(priceleft+priceright)为target

情况1:sum>target:right--

情况2:sum<target:left++

情况3:sum=target:return priceleft,priceright

伪代码:

int left=0,right=price.length-1;

while(left<right){

int sum=priceleft+priceright;

if(sum>target) right--;

else if(sum<target) left++;

else return new int\[\] {priceleft,priceright};

}

return new int\[\]{0};

相关推荐
信奥卷王7 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵7 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG9 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
码完就睡9 小时前
数据结构——红黑树
数据结构
码爸9 小时前
数据结构详细介绍
数据结构
Navigator_Z9 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛10 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记10 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序10 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm