算法
算法与数据结构、leetcode经典题解或者面试经典题
一条活在淡水湖里的鱼
这个作者很懒,什么都没留下…
展开
-
BERT-based Lexical Substitution论文阅读
摘要:之前的词汇替换是通过查询目标词汇的同义词来实现的(e.g. WordNet), 然后基于文本对候选词打分。这种方法有两个限制: 忽略了不是同义词的但是效果很好的候选词汇 没有考虑同意替换对整个文本的影响 主体:对目标词进行embedding dropout,使得可以平衡目标词的语义信息和上下文信息。如果完全遮盖,返回的候选词可能与原词意思不同,却能满足上下文信息;如果不遮盖,返回的候选词大约99.99%会预测到原词。计算相似度时,将BERT前四层的表示做原创 2022-04-02 16:50:42 · 1115 阅读 · 2 评论 -
BERT论文阅读笔记
介绍1、双向预训练模型,使用MLM(masked language model):2、预训练模型,降低模型复杂度BERT是自监督学习(无监督学习),结构是Transformer Encoder.结构: pre-training: 预训练阶段,使用无标注文本数据 fine-tuning: 在下游任务使用监督数据进行微调GPT Transformer只可以进行左边文本的自注意力计算BERT可以进行双向注意力计算输入/输出特征输入单个句子:每个句原创 2022-04-02 14:43:49 · 1105 阅读 · 0 评论 -
桶排序算法
桶排序桶排序应用于数组中对元素数量的排序。主要思路:记录每种元素出现的频数,需要遍历一次数组,时间复杂度为O(n)。这里使用哈希来记录,C++中使用unordered_map.并记录出现的频数的数目max_count。定义一个bucket二维数组(大小为max_count + 1,bucket[i]代表出现次数为i次),根据第一步记录的unordered_map中的值,依次将unordered_map中的元素放入桶中。循环完成后,bucket[1]中存放的是原始数组中出现了1次的元素,bucket原创 2021-04-13 00:17:27 · 123 阅读 · 0 评论 -
几种常见排序算法总结
对几种排序算法的总结这篇文章将介绍几种常见排序算法,包括快速排序、归并排序、插入排序、冒泡排序、选择排序六种算法的模板,并介绍STL几种排序算法的调用方式。1、快速排序快速排序用到二分的思路,因此时间复杂度为O(nlogn)。快排需要先处理子问题、然后递归处理子问题(与归并不同,归并先递归处理子问题,然后合并处理子问题)。因为快排需要处理边界问题,划分不当会出现无限划分和0划分的问题,从而导致时间超限,给出模板如下://快排模板1void quick_sort(vector<int>原创 2021-04-12 11:12:05 · 172 阅读 · 0 评论 -
排序算法
快速排序:思路确定分界点,可以有q[l],q[(l+r)>>1],q[r],随机取边界值调整区间,使得左边区间是小于等于x的值,右边区间是大于等于x的值递归处理左右两段代码模板:#include<iostream>using namespace std;const int N = 1e6+10;int a[N];void quick_sort(int...原创 2020-03-22 23:12:42 · 85 阅读 · 0 评论 -
多源最短路径问题(bfs)
题目描述:公司的程序员不够用了,决定把产品经理都转变为程序员以解决开发时间长的问题。在给定的矩形网格中,每个单元格可以有以下三个值之一:值0代表空单元格;值1代表产品经理;值2代表程序员;每分钟,任何与程序员(在4个正方向上)相邻的产品经理都会变成程序员。返回直到单元格中没有产品经理为止所必须经过的最小分钟数。如果不可能,返回-1。以下是一个4分钟转变完成的示例:2 1 1...原创 2020-03-15 01:00:06 · 693 阅读 · 0 评论