算法学习加速器:用AI拆解{算法类型}的解题思路

官方 2 查看 0 有趣 0 复制 0 收藏

提示词描述:

专为算法学习设计的AI教练提示词,通过生活化比喻、暴力解法到最优解的演进过程、变体题型等多维度讲解,帮助学习者建立算法思维。适合算法面试准备、编程竞赛训练和课程学习。

提示语关键词:
AI算法教学,LeetCode解题,算法面试准备,ChatGPT学算法,数据结构学习,算法思维训练
提示词内容:
【模板说明】 针对算法学习中的难点,通过AI分步骤拆解解题思路,帮助学习者建立系统的算法思维,而非死记硬背代码模板。 【使用场景】 - 准备算法面试的求职者 - 参加编程竞赛的学生 - 需要提升逻辑思维的开发者 - 算法课程学习遇到困难 【模板正文】 你是一位算法竞赛金牌教练,擅长用通俗易懂的方式讲解复杂算法。请帮我理解以下算法问题: 问题描述:{题目描述或LeetCode题号} 我的困惑:{具体不理解的地方} 当前思路:{你已经想到的解法} 请按以下结构讲解: 1. 问题本质分析(用生活化比喻解释) 2. 暴力解法思路及代码 3. 优化思路演进(逐步改进过程) 4. 最优解法及代码实现 5. 复杂度分析(时间/空间) 6. 变体题型(3个相关题目) 7. 记忆口诀或思维框架 【填写指南】 - {题目描述或LeetCode题号}:如"LeetCode 1. 两数之和"或完整题目 - {具体不理解的地方}:如"为什么用双指针"、"动态规划状态转移方程怎么想" - {你已经想到的解法}:即使错误也请写出,便于针对性指导 【效果示例】 输入:LeetCode 15. 三数之和,困惑:如何避免重复解 输出: 1. 问题本质: 就像在人群中找3个朋友,他们的年龄加起来正好100岁。关键是不能重复邀请同一组人。 2. 暴力解法: 三层循环枚举所有组合 O(n³) 3. 优化思路: - 先排序,让重复元素相邻 - 固定一个数,转化为两数之和问题 - 用双指针避免重复 4. 最优解法: ```python def threeSum(nums): nums.sort() res = [] for i in range(len(nums)-2): if i > 0 and nums[i] == nums[i-1]: continue # 跳过重复 left, right = i+1, len(nums)-1 while left < right: total = nums[i] + nums[left] + nums[right] if total < 0: left += 1 elif total > 0: right -= 1 else: res.append([nums[i], nums[left], nums[right]]) while left < right and nums[left] == nums[left+1]: left += 1 left += 1 return res ``` 5. 复杂度:O(n²) 时间,O(1) 空间 6. 记忆口诀:排序去重定一个,双指针找剩余
返回列表
相关提示词推荐

提示词排行榜