自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 Prefix Decoder /Causal Decoder/Encoder-Decoder的区别

定义:Prefix Decoder,也称为非因果解码器,属于Decoder only结构。输入部分使用双向注意力,输出部分使用单向注意力。在生成新的输出时,会考虑到所有之前生成的输出。特点:Prefix Decoder在处理输入序列时,模型可以同时考虑序列中的所有词。生成输出时会考虑整个输入序列,而不仅仅是之前的输出。这使得它在处理需要全局上下文的任务时表现更好。训练阶段,通常使用自回归方式进行训练,即在生成当前词时,使用之前生成的所有词。

2024-12-15 11:51:23 524

原创 Encoder-Only、Encoder-Decoder、Decoder-Only之间的区别

结构介绍: 多个只有Self-Attention和mlp的Transformer层串联起来Encoder-Only 架构,也被称为单向架构,仅包含编码器部分。它主要适用于不需要生成序列的任务,只需要对输入进行编码和处理的单向任务场景,如文本分类、情感分析等。这种架构的代表是 BERT 相关的模型,例如 BERT、RoBERT 和 ALBERT 等。

2024-12-09 22:01:00 648

原创 热题系列章节22

开始时,两个玩家的初始分值都是 0。每一回合,玩家从数组的任意一端取一个数字(即,nums[0] 或 nums[nums.length - 1]),取到的数字将会从数组中移除(数组长度减 1 )。给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。当窗口内的不同字符数超过两个时,移动左指针缩小窗口,直到窗口内的不同字符数不超过两个。如果窗口内的不同字符数超过两个,移动左指针缩小窗口,直到窗口内的不同字符数不超过两个。

2024-10-13 17:01:53 830

原创 热题系列章节21

由于题目本身课程的依赖关系是这么给我们的:[[1,0],[2,0],[3,1],[3,2]] 这种数据格式我们不方便直接使用, 因此我们将其改造成图的一种表示方式邻接矩阵。接下来是算法的重点,我们对每一个课程进行一次深度遍历, 并且用visited数组记录每一个课程的访问状态,这样我们可以判断有没有环的存在,如果有环则返回[]。如果不存在这样的正整数,则返回 -1。这是一个典型的拓扑排序题目, 对拓扑排序不熟悉的,可以看下这个文章 - 揭开「拓扑排序」的神秘面纱,可以说讲的非常详细了。

2024-09-28 15:28:40 993

原创 热题系列章节20

【代码】热题系列章节20。

2024-09-22 19:49:14 290

原创 Deep&Cross Network算法代码

推算算法Deep & Cross Network (DCN)

2024-09-04 19:47:00 248

原创 DeepFM算法代码

推荐算法DeepFm算法

2024-09-04 19:41:28 358

原创 Tensorflow 特征列说明

通过明确每个特征列的作用、适用场景和示例,可以更好地理解如何在 Wide & Deep 模型中有效地使用这些特征列,以提高模型的性能和表达能力。

2024-08-22 14:55:56 639 1

原创 leetcode热题系列19

68. 文本左右对齐119. 杨辉三角 II补充题3. 求区间最小数乘区间和的最大值1293. 网格中的最短路径57. 插入区间29. 两数相除722. 删除注释30. 串联所有单词的子串剑指 Offer 25. 合并两个排序的链表1109. 航班预订统计剑指 Offer 41. 数据流中的中位数1438. 绝对差不超过限制的最长连续子数组补充题17. 两个有序数组第k小的数补充题13. 中文数字转阿拉伯数字214. 最短回文串716. 最大栈381. O(1) 时间插入、删

2024-08-21 08:18:29 443

原创 leetcode热题系列18

889. 根据前序和后序遍历构造二叉树173. 二叉搜索树迭代器767. 重构字符串补充题24. 双栈排序剑指 Offer 59 - I. 滑动窗口的最大值836. 矩形重叠875. 爱吃香蕉的珂珂772. 基本计算器 III127. 单词接龙1206. 设计跳表1233. 删除子文件夹面试题 02.02. 返回倒数第 k 个节点1658. 将 x 减到 0 的最小操作数905. 按奇偶排序数组补充题20. 立方根1280. 学生们参加各科测试的次数

2024-08-21 08:16:58 297

原创 leetcode热题系列16

456. 132模式剑指 Offer 12. 矩阵中的路径剑指 Offer 14- I. 剪绳子523. 连续的子数组和99. 恢复二叉搜索树974. 和可被 K 整除的子数组340. 至多包含 K 个不同字符的最长子串73. 矩阵置零补充题8. 计算数组的小和334. 递增的三元子序列面试题 16.25. LRU缓存223. 矩形面积486. 预测赢家面试题 17.14. 最小K个数剑指 Offer 43. 1~n整数中1出现的次数658. 找到 K 个最接近的元素912.

2024-08-14 09:58:37 469

原创 leetcode热题系列17

剑指 Offer 50. 第一个只出现一次的字符946. 验证栈序列692. 前K个高频单词315. 计算右侧小于当前元素的个数166. 分数到小数238. 除自身以外数组的乘积306. 累加数133. 克隆图118. 杨辉三角986. 区间列表的交集233. 数字 1 的个数907. 子数组的最小值之和

2024-08-14 09:57:22 511

原创 leetcode热题系列15

剑指 Offer 50. 第一个只出现一次的字符946. 验证栈序列692. 前K个高频单词315. 计算右侧小于当前元素的个数166. 分数到小数238. 除自身以外数组的乘积306. 累加数133. 克隆图118. 杨辉三角986. 区间列表的交集233. 数字 1 的个数907. 子数组的最小值之和

2024-08-14 09:55:55 477

原创 leetcode热题系列14

540. 有序数组中的单一元素301. 删除无效的括号437. 路径总和 III204. 计数质数补充题21. 字符串相减567. 字符串的排列剑指 Offer 46. 把数字翻译成字符串面试题 08.12. 八皇后171. Excel表列序号525. 连续数组80. 删除排序数组中的重复项 II149. 直线上最多的点数994. 腐烂的橘子

2024-08-14 09:54:22 212

原创 leetcode热题系列13

要求是连续的子数组,所以自然就想到了双指针法,也就是寻找一个连续的区间。但是细思之后没有理清左右边界移动的逻辑,遂弃。暴力解反正先暴力解一下吧:前缀和数组:构建数组sum[i]表示原数组前 i 个元素之和,比如sum[2] = A[0] + A[1]。

2024-08-11 16:45:20 766

原创 leetcode热题系列12

设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。insert(val):当元素 val 不存在时,向集合中插入该项。remove(val):元素 val 存在时,从集合中移除该项。getRandom:随机返回现有集合中的一项。每个元素应该有相同的概率被返回。解题思路:使用列表存储元素值,使用字典存储元素值及其在列表中的索引。重点关注删除操作:先将要删除的val对应的索引值赋给列表中最后一个元素,接下来对列表中两个元素进行交换,最后在列表和字典中分别移除val即可。

2024-08-04 11:30:32 774

原创 leetcode热题系列章节11

给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [],k = 8,返回 13。说明:你可以假设 k 的值永远是有效的, 1 ≤ k ≤ n2。

2024-07-28 16:01:20 193

原创 热题系列10

题解:动态规划dp[i][j]表示s[0:i-1]与s[0:j-1]是否可以交错组成s3[0:i+j-1]

2024-07-21 15:44:37 1013

原创 热题系列9

给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。数据范围:0≤n≤50000,数组中元素的值0≤val≤10000要求:空间复杂度O(1),时间复杂度O(n)输入描述:保证数组输入非空,且保证有解示例1输入:[1,2,3,2,2,2,5,4,2]返回值:2示例2输入:[3,3,3,3,2,2,2]

2024-07-13 12:50:52 915

原创 热题系列8

2.分析这一题刚刚开始是很非常懵,主要是没有理解到"给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度)" 这个条件的真谛。这个条件就是暗示我们可以使用这个数组里面的值帮我们来记录一些信息。1.首先你的约束条件是 “你可以不用到任何额外空间并在O(n)时间复杂度内” ,所以不能两次遍历,只能遍历一次且需要用到数组里面的位置来帮助我们记录信息。2.那么我们就考虑循环每个值,利用这个(值-1)代表的索引值来记录是否已经被遍历到。

2024-07-07 19:43:11 597

原创 热题系列章节7

def reverse(self, head): # 链表反转pre = headwhile cur:pre = curcur = tmpreturn preh = ListNode((l1.val + l2.val) % 10) # 额外记下头结点,方便后续反转链表p = helif l1:elif l2:elif flag:flag = 0p = node。

2024-06-30 19:58:18 796

原创 热题系列章节6

序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。示例:示: 这与 LeetCode 目前使用的方式一致,详情请参阅 LeetCode 序列化二叉树的格式。

2024-06-23 15:24:55 825

原创 热题系列章节5

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2题目要求返回出现次数大于⌊ n/2 ⌋ 的元素,这里需要向下取整,并使用Counter()统计数组中元素及其出现的次数,最后遍历统计字典中元素的值,找到值大于⌊ n/2 ⌋ 的键返回即可。

2024-06-10 12:54:04 969

原创 热题系列章节4

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。

2024-06-09 08:15:59 763

原创 热题系列章节3

比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。你可以假设版本字符串非空,并且只包含数字和 . 字符。. 字符不代表小数点,而是用于分隔数字序列。例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。你可以假设版本号的每一级的默认修订版号为 0。例如,版本号 3.4 的第一级(大版本)和第二级(小版本)修订号分别为 3 和 4。

2024-06-01 22:36:18 726

原创 热题系列章节1

遍历到i =3 nums[i]=9时结束,,9 与5 交换的排列必然比当前排列大,所以前面数字可以不考虑,而根据之前遍历数组 第i个之后的部分必然是按降序排列,找到后半部分最小,且比nums[i]大的元素,与nums[i]交换,再将后半部分设置为最小排列即可。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]

2024-05-25 14:06:01 968

原创 链表专题系列

链表专题系列

2024-05-18 22:09:44 867

原创 动态规划之子序列(三)

最长回文子序列、回文子串、编辑距离

2024-03-31 22:49:30 1028

原创 动态规划之子序列(二)

不想交的线、不同的子序列、最大子序和、判断子序列

2024-03-31 14:15:16 796

原创 动态规划之子序列(一)

最长递增子序列、最长重复子数组、最长连续递增序列

2024-03-31 12:06:49 1019

原创 leetcode 栈和队列1

你只能使用标准的栈操作 – 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。假设所有操作都是有效的 (例如,一个空的队列不会调用 pop 或者 peek 操作)。// 返回 false。push(x) – 将一个元素放入队列的尾部。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。pop() – 从队列首部移除元素。

2024-03-21 20:02:31 293

原创 leetcode-图专题系列

课程表

2024-03-18 20:57:18 419

原创 股票系列(动态规划)

动态规划买卖股票系列

2024-03-17 17:10:59 1259

原创 leetcode-打家劫舍专题系列(动态规划)

成环之后还是难了一些的, 不少题解没有把“考虑房间”和“偷房间”说清楚。这就导致大家会有这样的困惑:情况三怎么就包含了情况一了呢?本文图中最后一间房不能偷啊,偷了一定不是最优结果。所以我在本文重点强调了情况一二三是“考虑”的范围,而具体房间偷与不偷交给递推公式去抉择。这样大家就不难理解情况二和情况三包含了情况一了。

2024-03-15 22:36:29 1196

原创 无重复字符的最长子串、最长回文子串

给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。

2024-03-12 22:49:34 412

原创 leetcode单调栈

leetcode单调栈

2024-02-24 22:08:37 1360 1

原创 leetcode 动态规划(单词拆分)

139.单词拆分力扣题目链接(opens new window)给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成 “leet code”。

2024-01-13 22:01:45 1614

原创 leetcode 动态规划(爬楼梯、零钱兑换、完全平方数)

卡码网:57. 爬楼梯(opens new window)假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。输入描述:输入共一行,包含两个正整数,分别表示n, m输出描述:输出一个整数,表示爬到楼顶的方法数。输入示例:3 2输出示例:3提示:当 m = 2,n = 3 时,n = 3 这表示一共有三个台阶,m = 2 代表你每次可以爬一个台阶或者两个台阶。

2024-01-12 20:12:21 1321

原创 leetcode动态规划(零钱兑换II、组合总和 Ⅳ)

如果把遍历nums(物品)放在外循环,遍历target的作为内循环的话,举一个例子:计算dp[4]的时候,结果集只有 {1,3} 这样的集合,不会有{3,1}这样的集合,因为nums遍历放在外层,3只能出现在1后面!所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1)因为递推公式dp[i] += dp[i - nums[j]]的缘故,dp[0]要初始化为1,这样递归其他dp[i]的时候才会有数值基础。

2024-01-11 22:31:39 1262 1

原创 leetcode 动态规划(最后一块石头的重量II、目标和、一和零)

本题其实和416. 分割等和子集 (opens new window)几乎是一样的,只是最后对dp[target]的处理方式不同。分割等和子集 (opens new window)相当于是求背包是否正好装满,而本题是求背包最多能装多少。for stone in stones: # 遍历物品for j in range(target, stone - 1, -1): # 遍历背包(简化版)二维DP版# 创建二维dp数组,行数为石头的数量加1,列数为target加1。

2024-01-10 21:20:34 1078

第二章leetcode题目代码.py

第二章leetcode题目代码.py

2022-11-17

Tidb安装最全文档

Tidb安装最全文档,里面包括安装细节,以及注意细节,帮助你快速上手Tidb

2018-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除