2022-5-14-贴纸拼词

691. 贴纸拼词

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/stickers-to-spell-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

[可运行]直观的想法,对于target,我们依次用stickers中的字符串通过剪切去匹配target,方法就是首先看stickers[i]中是否包含target[0](这是一种贪心的想法,如果你没有target[0],我去找下一个字符串,我期望得到可以满足我所有字符的sticker),如果包含,那么把target减去stickers[i]中包含的target的字符的数量,紧接着将其构造为一个新的nowTarget,那么接下来的任务就变成了求nowTarget的最小贴纸数量。任务和子任务的定义是相同的,我们用递归来实现,递归的边界就是完全匹配,也就是nowTarget变为""。

class Solution {
public:
	int minStickers(vector<string>& stickers, string target) {
		int stickersSize = stickers.size();
        //target需要的最少贴纸数量
		unordered_map<string, int> strStickerCnt;
        //各个贴纸中各个字母出现的次数
        vector<vector<int>> myStickers(stickersSize, vector<int>(26, 0));
		for (int i = 0; i < stickersSize; ++i)
			for (char ch : stickers[i])  myStickers[i][ch - 'a'] += 1;
		//初始化,空字符串不需要贴纸
        strStickerCnt[""] = 0;
        //返回拼凑target需要的最少贴纸数量
		return dfs(strStickerCnt, myStickers, target);
	}

	int dfs(unordered_map<string, int>& strStickerCnt, vector<vector<int>>& myStickers, string target) {
		//深搜边界,target已经搜索结束
        if (strStickerCnt.count(target)) return strStickerCnt[target];
		int minRes = INT_MAX, stickersSize = myStickers.size();
		//统计target中各个字符出现的次数
		vector<int> tar(26, 0);
		for (char ch : target) tar[ch - 'a'] += 1;
		//尝试使用每一个sticker
		for (int i = 0; i < stickersSize; ++i) {
			//当前sticker中没有target[0]这个字符
			if (myStickers[i][target[0] - 'a'] == 0) continue;
			//nowTarget为使用sticker[i]后剩余的字母
			string nowTarget = "";
			for (int j = 0; j < 26; j++)
				if (tar[j] - myStickers[i][j] > 0)
					nowTarget += string(tar[j] - myStickers[i][j], 'a' + j);
			//任务转换为搜索nowTarget需要的最少贴纸数
			int tempRes = dfs(strStickerCnt, myStickers, nowTarget);
			//更新target字符串需要的最少贴纸数
			if (tempRes != -1) minRes = min(minRes, 1 + tempRes);
		}
        //对上一层的反馈,是否找到了一套贴纸方案,是则返回贴纸数目,否则返回-1
    	strStickerCnt[target] = minRes == INT_MAX ? -1 : minRes;
        //for (auto iter = strStickerCnt.begin(); iter != strStickerCnt.end(); ++iter) {
        //    cout << iter->first << " " << iter->second;
        }
        cout<<endl;
		return strStickerCnt[target];
	}
};

我们针对示例一,看一下函数运行的过程:

 通过不同层中对strStickerCnt的输出我们可以看到,匹配的过程是:"" 0 -> "ht" 1 -> aeht 2 -> thehat 3

所用到的标签从前往后是:with -> example -> with

参考资料:LeetCode 贴纸拼词(回溯法+备忘录)_hestyle的博客-CSDN博客

<think>好的,我现在需要帮用户介绍多多上的保温杯销售推荐。首先,用户可能是在寻找如何在多多上选购保温杯的指南,或者是作为卖家想要了解如何优化销售策略。根据之前的对话历史,用户之前询问过产品搜索技巧,所以这次可能希望得到类似的详细指南,包含选购技巧、避坑方法、验证参数等。 首先,我需要分析用户的需求。用户提到的是“多多保温杯销售推荐”,这可能有两种情况:作为买家想购买优质的保温杯,或者作为卖家想了解如何提升销量。不过根据之前的对话,用户之前都是作为买家在寻求购买建议,所以这次更可能还是作为买家,想了解如何在多多上选购好的保温杯。 接下来,我需要考虑多多平台的特点。多多以价格优惠著称,但商品质量参差不齐,所以用户可能需要辨别真假、材质认证、性价比等方面的建议。同时,多多有很多商家和品牌,用户可能需要知道如何筛选可靠的店铺和产品。 然后,我需要参考之前回复的结构,即分点列出技巧、验证方法、避坑指南等,这样用户看起来清晰明了。之前的结构包括场景拆解、参数验证、价格段分析、避雷清单等,所以这次的结构也可以类似。 首先,确定保温杯的关键参数,比如材质(304或316不锈钢)、容量、保温时长、密封性等。然后,针对多多的特点,如何搜索关键,比如使用“316不锈钢”、“食品级”等术语。还需要验证方法,比如磁铁测试不锈钢,检查认证报告等。 另外,多多上可能有很多低价产品,但质量可能不佳,所以需要提醒用户注意低价陷阱,如何判断是否正品,比如查看品牌旗舰店、是否有防伪码等。同时,多多有很多促销活动,用户可能需要知道如何利用这些活动获取优惠,同时避免被虚假折扣欺骗。 还需要考虑用户可能的特殊需求,比如大容量、儿童保温杯、智能显温等功能,这些可能需要特定的搜索关键和验证方法。此外,售后服务也是重要的一环,比如是否支持退换货,如何检查漏水和保修政策。 最后,整理出结构化的指南,分点列出搜索技巧、参数验证、价格段推荐、避坑技巧、售后服务等,并给出具体的操作步骤和示例,让用户可以直接应用。同时,结合多多的平台特性,比如百亿补贴、品牌黑标等,帮助用户找到可靠的商品。 现在需要检查是否有遗漏点,比如材质测试的具体方法,如何查看认证,如何利用平台资源筛选商品,以及常见的营销话术陷阱。确保覆盖选购的各个方面,从搜索到验证,再到购买后的检查,帮助用户全面了解如何在多多上选购保温杯。</think>以下是针对多多平台的**保温杯选购全攻略**,涵盖**搜索技巧+材质验证+避坑指南**,助你精准锁定高性价比正品: --- ### **一、精准搜索话术** #### **1. 核心关键组合** - **材质优先**: `"316不锈钢保温杯 食品级检测报告"`(比304更耐腐蚀,优先选316) `"无涂层内胆保温杯 旋薄工艺"`(避开喷漆内胆,易脱落致癌) - **功能延伸**: `"智能显温保温杯 防误触开关"`(查看详情页是否有温控芯片实拍图) `"儿童保温杯 重力球吸管 啃咬报告"`(必须要求商家提供GB4806食品接触认证) #### **2. 规避假货话术** - 禁用模糊: ❌ “外贸原单”“尾货清仓”(多为回收料翻新) - 改用精准指令: ✅ `"虎牌同款保温杯 激光防伪码"`(要求到货后官网验真) ✅ `"膳魔师代工厂 盐雾测试72小时"`(抗锈能力比普通款强3倍) --- ### **二、关键参数验证法** #### **1. 材质防伪测试** - **不锈钢鉴别**: ✅ 用磁铁吸附杯底:316/304不锈钢**微磁或无磁**(强磁性多为201劣质钢) ✅ 杯口激光雕刻“SUS316”字样(喷漆标识易伪造) - **塑料部件检测**: ✅ 杯盖/吸管需标注“Tritan”或“PP5”(开水浸泡后无塑料味) #### **2. 保温性能实测** - **行业标准对照**: ✅ 商家详情页需标明“100℃开水6小时≥68℃”(国标合格线) ✅ 要求客服发送第三方检测报告(重点看24小时保温数据) - **自测方法**: 🔹 装开水后倒置摇晃,杯身不发热为真空层合格 🔹 杯盖旋紧后按压排气孔,无气流溢出说明密封性好 --- ### **三、价格段避坑指南** #### **1. 50元以下款** - **高风险特征**: ❌ 详情页只写“不锈钢”不标钢号 ❌ 杯身印花用贴纸而非烤漆(甲醛超标重灾区) - **安全选购法**: ✅ 搜 `"食品接触用保温杯 检测报告"`,重点检查杯盖材质 #### **2. 100-300元进阶款** - **正品验证技巧**: ✅ 品牌旗舰店查询是否带“黑标”(多多官方认证品牌) ✅ 日本品牌(象印/孔雀)需核对杯底“JIS”工业标准码 - **溢价功能鉴别**: 🔹 所谓“航天镀膜”实际是普通镜面抛光 🔹 “负离子水杯”无权威机构认证,属智商税 --- ### **四、平台专属技巧** #### **1. 利用百亿补贴** - 搜 `"百亿补贴 保温杯"`,认准“假一赔十”标识: ✅ 比价技巧:同一型号对比天猫旗舰店,价差>30%可能有猫腻 #### **2. 直播验货话术** - 要求主播现场演示: ✅ 开水倒入后杯身外部不起雾(真空层达标) ✅ 杯盖拆解展示硅胶密封圈(发黄变形的为库存货) --- ### **五、售后避雷清单** 1. **到货必检项**: ✅ 杯口内壁是否光滑(用棉签擦拭无黑色残留) ✅ 注水后倒置10分钟测试漏水 ✅ 杯底是否有钢印生产日期(三无产品多为贴纸) 2. **立即退货场景**: 🔴 杯身焊接处有毛刺(割伤嘴唇风险) 🔴 开水保温<4小时(真空层失效) 🔴 杯盖开启有刺鼻橡胶味(工业废料制成) --- ### **六、高性价比推荐模型** **最优组合** = 316不锈钢 + Tritan杯盖 + 弹跳式开关 + 12小时保温 👉 示例搜索:`"316弹跳保温杯 Tritan 12小时"` --- **执行建议**:直接复制上述带**“”**的搜索,按验证步骤筛选。如需特定品牌(如哈尔斯/富光)的**真假鉴别手册**,可告知品牌名称,我会提供该品牌的独家验货流程!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jiawen9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值