
算法
文章平均质量分 95
TanH.blog
这个作者很懒,什么都没留下…
展开
-
大模型在推荐领域中的运用-总结
实验表明,RecMind在不同的推荐任务中优于现有的基于LLM的推荐方法,并在与最近需要完全预训练的P5模型竞争的任务中取得了有竞争力的性能。将语言模型视为特征提取器,将物品和用户的原始信息(比如商品的标题/属性/类目、用户的点击序列/上下文)设计成prompt,输入到LLM中并输出相应的embedding或者语义summary信息,后续作为特征或者通过LLM语义挖掘用户潜在的兴趣偏好,最终将这些整合到推荐系统的决策过程中。由于LLM模型返回的是通用知识信息,存在与站内的类目体系无法完全对应的情况。原创 2024-05-30 11:24:41 · 3366 阅读 · 3 评论 -
Leetcode 42题接雨水的解题思路以及C++、java、python实现
Leetcode42. 接雨水题目描述:给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9解题思路:官方解法:对于...原创 2020-11-26 20:16:09 · 349 阅读 · 0 评论 -
Leetcode 11题-盛最多水的容器的解题思路以及C++、java、python实现
Leetcode 11题-盛最多水的容器题目描述:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0) 。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳...原创 2020-11-20 11:30:09 · 332 阅读 · 0 评论 -
Leetcode 88题.合并两个有序数组的解题思路以及C++、java、python实现
Leetcode 88题.合并两个有序数组题目描述:给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 nums1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n 。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n ...原创 2020-11-19 10:24:56 · 257 阅读 · 0 评论 -
Leetcode 66题 加一 解题思路以及C++、java、python实现
Leetcode 66题 加一题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。解题思路:从数组最后一位开始遍历,加1后不等于10(即最后一位不是9),当前位置now的数值就直接替换加1后的结果并返回数组。如果等于10,当前位置now的数值设为0,如果当前位置now不是数组第一位(即now != 0),遍历位置向前移动1。如果当前.原创 2020-11-18 10:41:47 · 331 阅读 · 0 评论 -
Leetcode 283题 移动零的解题思路以及C++、java、python实现
Leetcode 283题 移动零(双指针思想)题目描述:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。解题思路:双指针解法:慢指针low指向非零元素的尾标,快指针fast遍历整个数组,快指针fast若遇到非零元素,则进行与慢指针交换元素。快指针fast若遇到零,则加1往前遍历。C++实...原创 2020-11-17 14:00:48 · 232 阅读 · 0 评论 -
Leetcode 删除排序数组中的重复项-解题思路-C++、java、python实现
Leetcode 26题 删除排序数组中的重复项(双指针思想)题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [...原创 2020-11-16 11:22:44 · 191 阅读 · 0 评论 -
Leetcode 三数之和-解题思路以及C++、java、python实现
15. 三数之和题目描述:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解题思路(双指针解法):三数之和转变成两数之和: a + b + c = 0 转成 a + b = -c。具体步骤:1. 先对...原创 2020-11-15 16:10:14 · 409 阅读 · 0 评论 -
Leetcode 两数之和 解题思路以及C++、java、python实现
1.两数之和(双指针思想)题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。Leetcode官网两数之和解题思路:建立键值对map:key为补数:target-nums[i],value为nums的下标 i 。即为 key=vlaue:target-nums[i]=i。然后遍历nums数组,如果nums[i] 已在map中的key中,原创 2020-11-15 11:24:19 · 279 阅读 · 0 评论 -
函数的强连通性判定(C++实现)
这是最近做的一个C++课程设计,之前在做这个题目过程中,也上网查找了很多资料,只查到图的连通性,以及中缀表达式转换为后缀表达式的资料,发现并没有接收键盘输入的函数式识别与其结果的强连通性判定的资料,也就是没有将两者结合的资料。所以将这次所做的分享到博客中,供有需要的伙伴参考。实现代码下载链接:点击下载实现代码一、题目要求:1.现给你一个函数式y=f(x)和N(N在1到...原创 2018-07-19 13:13:25 · 1358 阅读 · 0 评论 -
排序算法之归并排序(java、python和C++实现)
一、基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之),而且充分利用了完全二叉树的深度是log2n + 1的特性,因此效率比较高。其算法原理如下:对于给定的一组记录...原创 2018-04-16 01:13:03 · 434 阅读 · 0 评论 -
排序算法之快速排序(java、python和C++实现)
快速排序的基本思想快速排序是对起泡排序(冒泡排序)的改进,采用分治思想。在各种排序方法中,快速排序比较次数较少,速度较快。给出一组待排序的数据记录。我们需要选择一个基准值作为分区标准,通常我们取第一个记录或者最后一个记录作为基准值。然后再将所有小于该基准值的记录移到左边,将所有大于该基准值得记录移到右边,中间放基准值记录,称为一趟排序。接着,对左右两个子序列分别重复上述过程。继续下去,直到所有的记...原创 2018-04-09 20:33:56 · 506 阅读 · 0 评论