自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 收藏
  • 关注

转载 根据三种遍历方式构造二叉树的通解

根据二叉树的前、中、后序三种遍历方式中的两种来构造该二叉树的通用解法

2024-02-22 14:21:20 50

转载 LeetCode 2707-字符串中的额外字符

另外在实现动态规划时,可以使用记忆化搜索,也可以使用递推,这两种方式在时空复杂度方面没有明显差异。在图中,红点代表有一个以此节点为终点的单词。字典树(TrieTree)是一种树形结构,用于统计、排序和保存大量的字符串(但不仅限于字符串,如。一些额外的字符可能不属于任何子串,而题目要求最小化这些额外字符的数量。比如,我们要怎么用树存下单词"abc",“abb”,“bca”,"bc"呢?分割成若干个互不重叠的子串,同时要求每个字串都必须在。中的字符串翻转后插入字典树。的后缀是否存在,因此需要将。

2024-01-10 10:35:16 130

转载 LeetCode 2477-到达首都的最少油耗

为根节点的树,并且初始树上的每一个节点上都有一个人,现在所有人都需要通过「车子」向结点。移动,所以为了使这条边上的「车子」利用率最高,我们贪心的让。后再一起坐车向上移动,我们不妨设以节点。,统计全部边上汽油的开销即为最终答案。为根结点的子树上的人都需要通过边。,那么我们至少需要「车子」的数量为。:题目等价于给出了一颗以节点。的全部子节点上的人到了节点。往下进行「深度优先搜索」,那么我们可以通过从根结点。为根节点的子树大小为。为一辆车的给定座位数。

2023-12-05 13:37:58 133

转载 LeetCode 907-子数组的最小值之和

leetcode 907的错题笔记

2023-11-27 14:15:04 114

转载 LeetCode 2127-参加会议的最多员工数

如果我们把每个员工看成图上的一个节点,员工xxx喜欢员工yyy,就在从xxx对应的节点到yyy对应的节点连一条边,那么形成的图则会由若干棵基环内向树组成。所谓基环内向树从任意一个节点xxx开始在图上进行游走,由于每个员工只有一位喜欢的员工,因此每个节点在图上只有一条出边,即游走的过程是唯一的。由于图上有nnn个节点,因此在n1n+1n1步以内,一定会走到一个重复的节点,那么在第一次经过该节点之后,到第二次经过该节点之前的所有节点及该节点本身就组成了一个环,如上图蓝色节点所示。

2023-11-01 10:45:41 105

转载 LeetCode 2003-每棵子树内缺失的最小基因值

在从下往上走的过程中,由于上面的节点对应的子树一定包含下面的节点,所以下面节点的基因值集合一定是上面节点的基因值集合的子集。算法步骤寻找基因值为111的节点。若没有,则说明所有节点缺失的最小基因值均为111。若有,则以该节点为起始点。以该点为根节点,使用dfsdfsdfs向下搜索,将其子树包含的基因值记录到visvisvis数组中。依次遍历求其缺失的最小基因值。将该点的父节点设为根节点,使用dfsdfsdfs向下搜索其它子树的基因值,并更新visvisv。

2023-10-31 14:12:05 62

转载 LeetCode 1191-K次串联后最大子数组之和

表示以当前数组元素结尾的最大子数列和,转移过程也十分简单——要么就是只取当前元素,要么就是拖家带口把前一元素的。可以看出,这是一个常规性的子数组(蓝色)加上一个完整的原始数组。回到问题本身,由于数组可以重复出现,所以实际上,我们的子数组是可以跨过原始数组。是最大连续子数列和,所以结果有误,必须要考虑上结尾和开头结合的这种情况。算法,这样我们得到的结果一定涵盖了上面两种类型的子数组。:在一维数列中找到一个连续的子数列,使该子数列的和最大。由于我们想要最大子数列和,所以当前一个子数列和小于。

2023-10-19 12:08:50 60

转载 LeetCode 310-最小高度树

最直接的解法是,枚举以每个节点为根构成的树,然后求出该树的高度,所有树的最小高度即为答案,需要的时间复杂度为。方法一中使用广度优先搜索求出路径最长的节点与路径,我们还可以使用深度优先搜索来实现。由于树的高度由根节点到叶子节点之间的最大距离构成,假设树中距离最长的两个节点为。,由方法一可知最小树的根节点一定为该路径中的中间节点,我们尝试删除最外层的度为。,则可以推出以任意节点构成的树最小高度一定为。的距离,假设树中距离最长的两个节点为。,且最小高度的树的根节点一定在节点。的路径,然后找到根节点。

2023-10-08 15:26:22 97

转载 LeetCode 123-买卖股票的最佳时机III

同时,如果最优的情况对应的是恰好一笔交易,那么它也会因为我们在转移时允许在同一天买入并且卖出这一宽松的条件,从。无论题目中是否允许「在同一天买入并且卖出」这一操作,最终的答案都不会受到影响,这是因为这一操作带来的收益为零。天我们可以不进行任何操作,保持不变,也可以在只进行过一次买操作的前提下以。天我们可以不进行任何操作,保持不变,也可以在未进行任何操作的前提下以。在动态规划结束后,由于我们可以进行不超过两笔交易,因此最终的答案在。中,且为三者中的最大值。,并且在状态转移的过程中我们维护的是最大值,因此。

2023-10-05 20:37:19 38

转载 LeetCode 309-卖卖股票的最佳时机含冷冻期

121.买卖股票的最佳时机122.买卖股票的最佳时机 II123.买卖股票的最佳时机 III188.买卖股票的最佳时机 IV(本题)309.最佳买卖股票时机含冷冻期714.买卖股票的最佳时机含手续费剑指 Offer 63.股票的最大利润一种常用的方法是将买入和卖出买入为负收益,而卖出为正收益。在初入股市时,你只有买入的权利,只能获得负收益。而当你买入之后,你就有了卖出的权利,可以获得正收益。显然,我们需要尽可能地降低负收益而提高正收益,因此我们的目标总是将收益值最大化。

2023-10-05 19:21:42 32

转载 算法—差分数组

如果给你一个包含5000万个元素的数组,然后会有频繁区间修改操作,那什么是频繁的区间修改操作呢?比如让第1个数到第1000万个数每个数都加上1,而且这种操作时频繁的。

2023-10-05 15:03:07 27

转载 LeetCode 22-括号生成

可以通过跟踪目前放置的左括号和右括号的数目来做到这一点。我们只在序列仍然保持有效时才添加。数量,我们可以放一个。

2023-09-18 15:51:21 36

转载 LeetCode 1222-可以攻击国王的皇后

同一个方向的皇后可能有多个,我们需要选择距离国王最近的那一个,因此可以使用一个哈希映射,它的键表示某一个方向,值是一个二元组,分别表示当前距离最近的皇后以及对应的距离。当我们枚举到一个新的皇后时,如果它在国王的八个方向上,就与哈希映射中对应的值比较一下大小关系即可。我们枚举每个皇后,判断它是否在国王的八个方向上。我们可以依次枚举八个方向,并从国王出发,其遇到的第一个皇后就可以攻击它。为了记录皇后的位置,我们可以使用一个。的二维数组,也可以使用一个哈希表,这样就可以在。时,皇后可以攻击到国王,方向为。

2023-09-16 09:27:05 53

原创 1. docker镜像拉取报错:Error response from daemon: Get https://registry-1.docker.io/v2/

docker镜像拉去报错

2023-09-13 16:13:50 816

转载 LeetCode 207-课程表

本题是一道经典的「拓扑排序」问题。给定一个包含nnn个节点的有向图GGG对于图GGG的任意一条有向边uv(u,v)uvuuu在排列中都出现在vvv的前面。那么称该排列是图GGG的「拓扑排序」。根据上述定义,我们可以得出两个结论如果图GGG中存在环(即非有向无环图),那么图GGG不存在拓扑排序。如果图GGG是有向无环图,那么它的拓扑排序可能不止一种。我们将每一门课看成一个节点如果想要学习课程AAA之前必须完成课程BBB,那么我们从BBB到AAA。

2023-09-11 15:46:56 32

转载 LeetCode 1004-最大连续1的个数III

对于数组AAA的区间leftrightleftright而言,只要它包含不超过kkk个000,我们就可以根据它构造出一段满足要求,并且长度为right−left1right−left1的区间。因此,我们可以将该问题进行如下转化,即:对于任意的右端点rightrightright,希望找到最小的左端点leftleftleft,使得leftrightleft。

2023-09-08 10:24:36 55

转载 LeetCode 2594-修车的最少时间

二分的上界可以取正无穷,也可以取任意一个工人修完所有车辆所需要的时间。:题目要求解修理汽车所需的最少时间,故先考虑二分是否可行,若。若所有工人可以修完的汽车数量之和大于等于。因此,解的值域范围存在单调性。

2023-09-07 10:29:34 49

原创 02-Linux-IO多路复用之select、poll和epoll详解

在linux系统中,实际上所有的 I/O 设备都被抽象为了文件这个概念,一切皆文件,磁盘、网络数据、终端,甚至进程间通信工具管道 pipe 等都被当做文件对待。多路:多个 socket 网络连接。复用:复用一个线程,使用一个线程来检查多个文件描述符(socket)的就绪状态。多路复用主要有三种技术:select、poll、epoll。epoll 是最新的,也是目前最好的多路复用技术。都是I/O多路复用机制,即能监视多个fd,一旦某fd就绪(读或写就绪),能够通知程序进行相应读写操作。但本质都是。

2023-09-04 10:54:56 405

转载 leetcode 239-滑动窗口最大值

对于每个滑动窗口,我们可以使用OkO(k)Ok的时间遍历其中的每一个元素,找出其中的最大值。对于长度为nnn的数组numsnumsnums而言,窗口的数量为n−k1n-k+1n−k1,因此该算法的时间复杂度为On−k1kOnkO((n−k1kOnk,会超出时间限制,因此我们需要进行一些优化。我们可以想到,对于两个相邻(只差了一个位置)的滑动窗口,它们共用着k−1k-1k−1个元素,而只有111。

2023-08-11 16:38:22 39

原创 leetcode 399-除法求值

在合并以后,产生了一棵高度为 3 的树,那么我们在执行查询的时候,例如下图展示的绿色结点和黄色结点,绿色结点并不直接指向根结点,在计算这两个变量的比值的时候,计算边的权值的比值得到的结果是不对的。因此可以用它们指向根结点的有向边的权值的比值作为两个变量的比值。中出现的变量就是图的顶点,「分子」与「分母」的比值可以表示成一个有向关系(因为「分子」和「分母」是有序的,不可以对换),并且这个图是一个带权图,由于有「路径压缩」的优化,两个在一个连通分量中的不同变量,它们分别到根节点的权值的比值就是要求的结果。

2023-08-09 14:23:19 211

原创 leetcode 42-接雨水

我们把每一个位置的左边最高高度记录在一个数组上(maxLeft),右边最高高度记录在一个数组上(maxRight),这样就避免了重复计算。一样的方法,只要从头遍历一遍所有的列,然后求出每一列雨水的体积,相加之后就是总雨水的体积了。首先,如果按照列来计算的话,宽度一定是1了,我们再把每一列的雨水的高度求出来就可以了。当前位置,左边的最高高度是前一个位置的左边最高高度和本高度的最大值。列4的雨水高度求出来了,宽度为1,相乘就是列4的雨水体积了。该列左侧最高的柱子和右侧最高的柱子中最矮的那个柱子的高度。

2023-07-04 14:54:39 301

原创 Leetcode 110-平衡二叉树

【代码】Leetcode 110-平衡二叉树。

2023-06-03 14:26:24 233

原创 leetcode-135.分发糖果

leetcode135.分发糖果

2023-05-29 16:16:38 74

原创 01-Linux-磁盘分区与目录配置

另外,能够识别 GPT 分区表的操作系统会检查保护 MBR 中的分区表,如果分区类型不是 0xEE 或者 MBR 分区表中有多个项,也会拒绝对硬盘进行操作。因为每个 LBA 有 512B,因此每组记录用到 128B 的空间,除了每组记录所需要的标识符与相关的记录之外,出于兼容性考虑,LBA0 存储了一份传统的 MBR 信息,用来防止不支持 GPT 的硬盘管理工具错误识别并破坏硬盘中的数据。由于分区表仅占 64B,因此最多能有四组记录区,每组记录区记录了该区段的起始与结束的柱面号码。

2023-04-18 19:30:56 1187

原创 TransformerCPI: improving compound–protein interaction prediction by sequence-based deep learning wi

论文地址:TransformerCPI: improving compound–protein interaction prediction by sequence-based deep learning with self-attention mechanism and label reversal experiments代码地址:https://github.com/lifanchen-simm/transformerCPI我们可以将 CPI 问题视为二分类任务,化合物可以被认为是1D序列或分子图(即

2023-04-13 20:11:27 366

原创 MolTrans: Molecular Interaction Transformer for drug–target interaction prediction

随着大量生物医学数据和知识的收集与利用以及在许多应用领域取得巨大成功的深度学习技术的进步,药物发现过程,特别是DTI预测得到了显著增强。最近,各种深度模型在DTI预测中显示出令人鼓舞的表现。它们通常将药物和蛋白质数据作为输入,将DTI视为一个分类问题,并通过深度学习模型对输入进行预测。尽管做出了这些努力,一下挑战仍然存在:为了解决这些挑战,我们提出了一种基于 transformer 的生物启发分子数据表征方法(MolTrans)来利用大量未标记数据进行 DTI 预测。做出了以下贡献:知识启发的表征和交互建模

2023-04-13 20:11:08 816

原创 序列比对算法

假设有两个序列:ATGCG 和 ACCG,如何求得它们的最佳匹配方案。

2023-04-13 20:10:37 987 1

原创 HyperAttentionDTI: improving drug–protein interaction prediction by sequence-based deep learning wit

识别药物-靶点相互作用(DTI)是药物再利用和药物发现的关键步骤。通过模型计算准确识别 DTI 可以显著缩短开发时间并降低成本。最近,提出许多基于序列的方法用于 DTI 预测,并通过引入注意机制来提高性能。这些方法仅对药物和蛋白质间的单个非共价间的分子相互作用进行建模,忽略了原子和氨基酸间复杂的相互作用。:在本文中,我们提出了一种基于卷积神经网络和注意机制的端到端生物启发模型 HyperAttentionDTI。我们使用深度CNN来学习药物和蛋白质的特征矩阵。

2022-10-21 19:59:37 1196

原创 TL-BERT: A Novel Biomedical Relation Extraction Approach

首先,使用指定的三重生成规则生成三重数据。对于使用规则(1)和规则(2)生成的三重数据,三重数据中的两个实例共享相同的上下文信息,这将误导分类器将它们分到同一类中,引入 Triplet Loss 策略的主要目的是提高区分这些 SODC 实例的能力。(3)对于每个无法从同一个句子中找到一个负/正实例的正/负实例,若该句子中只有两个实体,那么它将从其它句子中随机选择一个正实例和一个负实例,以形成三重数据。(1)对于每个正实例,从同一个句子中获取一个负实例,从随机选择的句子中获取一个正实例,以形成三重数据。

2022-10-19 18:27:26 788

原创 SGAT: a Self-supervised Graph Attention Network for Biomedical Relation Extraction

近年来,在BioRE任务的研究中,提出了基于深度学习的不同方法。目前,通过挖掘原始数据的特征构造辅助任务和伪标签的自监督学习方法已广泛应用于计算机视觉和自然语言处理领域。辅助任务可以指导原始模型捕获对主要任务更为关键的特殊特征。受上述启发,我们通过将自我监督融入到图形注意机制中,构建了一个新的 BioRE 模型,称为 SGAT(se

2022-10-18 14:46:19 1226

原创 Self-supervised Learning for Label Sparsity in Computational Drug Repositioning

药物重定位旨在根据已知的药物-疾病关联性揭示上市药物的新用途。其背后的逻辑是:目前市场上的小分子药物具有多靶点特性,这意味着它们可以抑制或激活未知靶点,从而对未知疾病产生治疗效果。药物重定位通过计算模型和大量经验证的药物-疾病关联揭示药物和疾病的潜在治疗模式。基于这些模式,可以推断出目标药物的新的治疗用途。

2022-10-16 15:37:28 491

原创 HeTDR: Drug repositioning based on heterogeneous networks and text mining

药物重定位是一个长期存在的问题,人们提出了许多计算方法来预测药物再定位与疾病的相关性。这些研究大致可分为三类:机器学习、基于网络的方法和文献挖掘。HeTDR 的贡献如下:HeTDR 的工作流程如图所示,由三部分组成:将6677对报告的药物-疾病对分为三个子集,80%的药物-疾

2022-10-14 11:40:11 512

原创 Deep learning for drug repurposing: methods, databases, and applications

本文是一篇利用深度学习方法和工具进行药物重定位主题的综述文章。

2022-10-12 15:37:27 1356

原创 1. ACL20220521-DeepStruct

引入了结构预训练,系统地教会预训练语言模型在预训练阶段更好地理解文本结构之外的信息,这使得预训练语言模型在预训练期间学到的关于结构的信息可以直接转移到下游结构预测任务。,我们的预训练数据与任务无关。多任务训练已被证明能有效提高语言模型向下游任务转移的能力,主要区别在于,DeepStruct 使用任务无关语料库在结构预处理中跨多个结构预测数据集进行训练,其中我们将所有数据集转换为三种格式。我们没有对每个任务使用标准的预训练-微调范式,而是引入了结构预训练,目的是教会语言模型同时在广泛的任务范围内对应结构。

2022-10-03 20:04:32 536

原创 Knowledge Guided Attention and Graph Convolutional Networks for Chemical-Disease Relation Extraction

我们的模型取得了73.3%的F分数,超过了当前最先进的方法。然而,由于依赖关系树由单词节点组成,而 BERT 的 token 将拆分单词,它不能与依赖树和GCN有效结合,因此选择 ELMo 语言模型作为 GCN 的输入嵌入。我们将从CDR中提取的实体对与CTD进行比较,若它们没有出现在CTD中,我们将添加此实体对的三元组,并将关系标记为空。② 去除 GCN Layer,模型性能降低2.5%,模型到句子间级别的关系提取性能下降了4.3%,这说明依赖树和 GCN 模块可以获取对关系提取有用的长期依赖特征。

2022-10-02 19:15:53 452 1

原创 9.吴恩达深度学习--机器翻译

网络将输入以各种可能格式编写的日期(“the 29th of August 1958”, “03/30/1968”, “24 JUNE 1987”),我们的模型会将它们转换为标准化的机器可读日期(“1958-08-29”, “1968-03-30”, “1987-06-24”)。为了让你在不使用大量数据集的情况下尝试使用这些模型,我们将使用更简单的“日期转换”任务。在训练时,你可以看到输出的 10 个位置中的每个位置的损失和准确性。:假设人类可读日期的最大长度,如果我们得到更长的输入,我们将截断它。

2022-09-12 10:15:43 582

原创 8. 吴恩达深度学习--词向量的生成与Emoji生成器

本文参考了 何宽 大神的博客,原文点此进因为词嵌入的训练是非常耗费资源的,所以大部分人都是选择加载训练好的词嵌入数据。本博客也是如此,我们主要会学习:我们先来加载所需要的包:接下来就是加载词向量了,这里我们使用50维的向量来表示单词:我们加载了一下数据:执行结果如下:因为独热向量不能很好地表示词语之间的相似性,所以使用了 GloVe 向量,它保存了每个单词更多、更有用的信息,我们现在可以看看如何比较两个词的相似性。为了衡量两个词的相似程度,我们需要一种方法来衡量两个词的词嵌入向量之间的相似程度,给定

2022-09-09 10:25:58 445

原创 7. 吴恩达深度学习--搭建循环神经网络及其应用

本文主要参考了 严宽 大神的学习笔记,并在其基础上补充了一点内容,点此查看原文。循环神经网络(RNN)对于自然语言处理和其他序列任务非常有效,因为它们具有”记忆“功能。它们可以一次读取一个输入 x(t)x^{(t)}x(t)(如单词),并且通过隐藏层激活从一个时间步传递到下一个时间步来记住一些信息/上下文,这允许单向RNN从过去获取信息来处理后面的输入,双向RNN可以从过去和未来中获取上下文。声明:加载需要的库:1. 循环神经网络的前向传播我们来看一下下面的循环神经网络的图,在这里使用的是 Tx=TyT

2022-09-02 12:51:26 1272 1

原创 2. 刘二大人《PyTorch深度学习实践》作业--梯度下降

这里,我在刘老师的基础上做了改进,将线性函数改为了y=wx+b,以下实现都是基于此线性函数做的。

2022-08-31 13:51:54 246 1

原创 1. 刘二大人《PyTorch深度学习实践》线性模型 作业

【代码】1. 刘二大人《PyTorch深度学习实践》线性模型 作业。

2022-08-31 10:04:23 282

空空如也

空空如也

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

TA关注的人

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