- 博客(96)
- 收藏
- 关注
原创 [langchain教程]langchain02——用langchain构建聊天机器人
单独使用语言模型存在一个问题:没有将之前的对话轮次作为上下文,因此无法回答涉及上下文的问题。为了解决这个问题,我们需要将整个对话历史传递给模型。
2025-03-27 16:23:57
841
原创 [langchain教程]langchain01——用langchain调用大模型
LangChain 是一个开源框架,旨在简化基于大型语言模型(LLMs)的应用程序开发。通过模块化组件和链式结构将语言模型与外部数据源、工具和任务流程集成,构建复杂且功能强大的应用程序。
2025-03-27 10:47:43
1028
原创 [LeetCode-Python版]动态规划——0-1背包和完全背包问题总结
0-1背包:有n个物品,第i个物品的体积为wi,价值为vi,每个物品至多选一个,求体积和不超过 capacity 时的最大价值和dfsicmaxdfsi−1cdfsi−1c−wi])vi。
2025-01-13 13:31:22
1073
原创 [LeetCode-Python版]回溯——三种题目类型(子集型/排列型/组合型)
回溯算法是一种通过探索所有可能的候选解来找出所有的解的算法。如果候选解被确认为一个解(有可能是唯一的),回溯算法会记录下来。在一些问题中,回溯算法可以用来生成问题的解空间树,然后通过深度优先搜索策略进行遍历,以找到所有可能的解或最优解。
2025-01-10 12:55:06
923
原创 [LeetCode-Python版]Hot100(2/100)——128. 最长连续序列
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
2025-01-06 00:27:50
164
原创 [LeetCode-Python版]Hot100(1/100)——49. 字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
2025-01-05 23:54:59
275
原创 [LeetCode-Python版]前缀和——974. 和可被 K 整除的子数组
给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的非空 子数组 的数目。子数组 是数组中 连续 的部分。
2025-01-03 14:23:47
289
原创 [LeetCode-Python版]链表——25. K 个一组翻转链表
给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
2024-12-29 23:04:46
321
原创 [LeetCode-Python版]链表—— 92. 反转链表 II
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left
2024-12-29 22:36:17
295
原创 [LeetCode-Python版]二分查找——33. 搜索旋转排序数组
整数数组 nums 按升序排列,数组中的值 互不相同。在传递给函数之前,nums 在预先未知的某个下标 k(0
2024-12-29 17:57:12
317
原创 [LeetCode-Python版]二分查找——153. 寻找旋转排序数组中的最小值
已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]]。
2024-12-28 22:57:14
295
原创 [LeetCode-Python版]二分查找——162. 寻找峰值
峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。
2024-12-28 22:29:30
167
原创 [LeetCode-Python版]二分查找——H 指数 II
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数,citations 已经按照 升序排列。计算并返回该研究者的 h 指数。h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (n 篇论文中)至少 有 h 篇论文分别被引用了至少 h 次。请你设计并实现对数时间复杂度的算法解决此问题。
2024-12-27 14:18:28
268
原创 [LeetCode-Python版]二分查找——34. 在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
2024-12-27 13:29:47
282
原创 [搜广推]深度学习推荐模型(9)——序列模型在推荐系统中的应用:DIEN
DIEN是DIN模型的进化版本,在MLP的基础上引入先验知识(用户对目标广告的感兴趣程度)来提高模型准确性,因此要考虑如何对兴趣建模。
2024-12-27 12:50:22
1013
原创 [搜广推]深度学习推荐模型(8)——DIN详解
DIN利用注意力机制来捕捉用户历史行为与候选广告之间的相关性,从而为每个候选广告动态地调整用户行为特征的权重。
2024-12-27 11:43:54
1354
原创 [搜广推]深度学习推荐模型(7)——注意力机制在推荐模型中的应用
注意力机制”来源于人类最自然的选择性注意的习惯。最典型的例子是用户在浏览网页时,会选择性地注意页面的特定区域,忽视其他区域。基于这样的现象,在建模过程中考虑注意力机制对预测结果的影响,往往会取得不错的收益。
2024-12-26 21:18:39
825
原创 [LeetCode-Python版]同向双指针——2779. 数组的最大美丽值
给你一个下标从 0 开始的整数数组 nums 和一个 非负 整数 k。在一步操作中,你可以执行下述指令:在范围 [0, nums.length - 1] 中选择一个 此前没有选过 的下标 i。将 nums[i] 替换为范围 [nums[i] - k, nums[i] + k] 内的任一整数。数组的 美丽值 定义为数组中由相等元素组成的最长子序列的长度。对数组 nums 执行上述操作任意次后,返回数组可能取得的 最大 美丽值。注意:你 只 能对每个下标执行 一次 此操作。
2024-12-26 15:42:04
1096
原创 [LeetCode-Python版]同向双指针——2730. 找到最长的半重复子字符串
给你一个下标从 0 开始的字符串 s ,这个字符串只包含 0 到 9 的数字字符。如果一个字符串 t 中至多有一对相邻字符是相等的,那么称这个字符串 t 是 半重复的。例如,“0010” 、“002020” 、“0123” 、“2002” 和 “54944” 是半重复字符串,而 “00101022” (相邻的相同数字对是 00 和 22)和 “1101234883” (相邻的相同数字对是 11 和 88)不是半重复字符串。请你返回 s 中最长 半重复子字符串的长度。
2024-12-26 15:23:11
275
原创 [LeetCode-Python版]同向双指针——713. 乘积小于 K 的子数组
给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。
2024-12-26 14:19:16
185
原创 [LeetCode-Python版]同向双指针——209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target。找出该数组中满足其总和大于等于 target 的长度最小的子数组numslnumsl1...numsr−1numsr,并返回其长度。如果不存在符合条件的子数组,返回 0。
2024-12-26 13:50:21
717
原创 [LeetCode-Python版]相向双指针——125. 验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。
2024-12-25 21:43:06
231
原创 [LeetCode-Python版]相向双指针——633. 平方数之和
给定一个非负整数 c ,判断是否存在两个整数 a 和 b,使得 a^2 + b^2 = c。
2024-12-25 21:38:48
676
原创 [LeetCode-Python版]相向双指针——42. 接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
2024-12-25 21:20:31
535
原创 [LeetCode-Python版]相向双指针——11. 盛最多水的容器
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:不能倾斜容器。
2024-12-25 20:37:16
310
原创 [搜广推]深度学习推荐模型(5)——Wide&Deep模型
Wide & Deep模型由Google在2016年提出。它旨在结合线性模型(Wide部分)的记忆能力和深度学习模型(Deep部分)的泛化能力,以解决推荐系统中的记忆性(Memorization)和泛化性(Generalization)问题。
2024-12-25 18:00:29
944
原创 [搜广推]深度学习推荐模型(4)——PNN模型
PNN认为在CTR预估中,特征之间的关系更多是一种“且”的关系,而非“加”的关系,因此提出了基于乘法的运算来体现特征交叉的网络结构
2024-12-25 17:30:18
832
原创 [搜广推]深度学习推荐模型(3)——NeuralCF模型
NeuralCF模型是一种结合了深度学习和协同过滤的推荐系统模型,它通过学习用户和物品的低维向量表示,并利用多层感知器捕捉它们之间的非线性关系,以提高推荐准确性和泛化能力。NeuralCF模型的灵感来自于矩阵分解模型。
2024-12-25 16:57:06
280
原创 [搜广推]深度学习推荐模型(2)——Deep Crossing 模型
如果说AutoRec模型是将深度学习的思想应用于推荐系统的初步尝试,那么DeepCrossing模型就是一次深度学习架构在推荐系统中的完整应用。AutoRec模型讲解详见Deep Crossing 模型是一种深度学习架构,用于解决推荐系统中的特征交叉问题。
2024-12-25 16:17:12
1067
原创 [搜广推]深度学习推荐模型(1)——AutoRec
AutoRec模型是一种基于协同过滤的深度学习推荐系统算法,它通过自编码器学习用户或物品的隐式特征向量,利用这些向量来预测用户对未评分物品的评分,根据评分进行推荐。
2024-12-25 15:30:54
888
原创 [LeetCode-Python版]相向双指针——611. 有效三角形的个数
给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。
2024-12-24 17:58:18
393
原创 [LeetCode-Python版]相向双指针——2824. 统计和小于目标的下标对数目
给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ,请你返回满足 0
2024-12-24 17:18:13
969
原创 [LeetCode-Python版]相向双指针——18. 四数之和
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):a、b、c 和 d 互不相同你可以按 任意顺序 返回答案。
2024-12-24 17:02:49
911
原创 [LeetCode-Python版]相向双指针——16. 最接近的三数之和
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。
2024-12-24 16:40:33
313
原创 [LeetCode-Python版]相向双指针——167. 两数之和 II - 输入有序数组 & 15. 三数之和
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1
2024-12-24 16:18:15
1003
搜广推推荐系统中传统推荐系统方法思维导图整理-完整版
2024-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人