自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【一文搞定】Transfomer和BERT

论文导航TransformerBert前言不知道有没有人像我一样,再最开始接触 Transfomer 和Bert 的时候,感觉就是云里雾里,只知道着 Bert 不是基于 Transformer 的构建的吗,对他们之间的具体区别一直没有清晰到位的理解 (((φ(◎ロ◎;)φ)))。于是在论文阅读和资料查找答疑之后,用这篇博文记录自己的理解,也方便以后回顾。Transfomertransfomer 原意为变形金刚,由于网络中attention部分就像是用于组装的零件,能根据我们的设计和需要构成各种模

2021-04-10 22:49:10 425

原创 【二分搜索法】中间向左还是向右

为什么要使用二分搜索法假如现在有5个数从小到大排列,如下134710我们要找到数字7排在哪个位置,最简单的解决办法就是从头往后遍历就可以知道数字7在第四个如果现在有10000个数字,要从中寻找到一个数字,仍使用遍历的方法,如果待寻找的数字排在第一个,则遍历算法是高效的,但是如果待寻找的数字排在最后一个,则寻找的时间复杂度大幅上升,因此,使用二分搜索法的时刻就到了什么是二分搜索法二分意为一分为二,即寻找一个中间数将原来的数组分为两部分,根据中间数和目标数的大小比较来确定下一个

2021-03-25 22:43:32 254

原创 【双指针】两只指针爱跳舞~

为什么要用到双指针假设一种情况,现有n个数,你需要从中找到两个数 a和b,使得 a+b=0easy! 直接暴力排列组合不就解决了?但是这样往往会导致计算时间爆炸 (TT)如何简化运算量呢?这时候就需要请双指针来跳舞了跳舞(((((ી(・◡・)ʃ)))))什么是双指针但我们去遍历一个数组时,一般使用的都是单个指针 i,双指针,顾名思义就是额外增加了一个指针 j,同时使用两个指针去遍历一个数组,如果两个指针的遍历方向相同就叫快慢指针,如果两个指针的遍历方向相反就叫对撞指针。俗话说,“男女搭配,干活

2021-03-18 13:39:57 157

原创 【快速排序】天下武功唯快排不破

快速排序快排快排,显然重在快字,但是如何实现这个快呢?简述快排是一种采用分治策略的划分交换排序,由此我们就能看见这个快字的奥秘:划分 + 交换 + 分治。实现划分交换以及分治的操作就构成了快排的基本步骤:要实现划分首先需要有一个标准先从待排序数列中取出一个数作为基准通过数字交换实现区间的划分比基准数大的均放在其右边,比基准数小的均放在其左边得到左右区间之后进行分治对左右区间进行1,2操作直到个区间只有一个数例证详细的实现过程,我们通过一个例子来说明假设我们现有一个数组 a[6]

2021-03-17 13:41:56 94

原创 mmf阅读笔记之registry.py

=== 简介 ===功能使用唯一的键值(keys)来标记各种信息用于注册各种不同的类(class)导入方式from mmf.common.registry import registry使用方式Register a trainer:@registry.register_trainerRegister a dataset builder:@registry.register_builderRegister a metric:@registry.register

2020-12-25 00:56:40 231

原创 【小白git入门使用教程】使用git从github下载项目到本地以及本地项目上传github

下载gitGit下载官网地址:https://git-scm.com/downloads进入后点击Download下载但是官网下载会很慢慢慢慢慢这里提供一个快速下载的办法,请参考https://blog.csdn.net/weixin_44198965/article/details/99686507下载完毕之后打开文件所有的选项都采用默认设置下载完成提示:git 窗口内使用命令和 linux 基本一致,所以不熟悉linux的同学要赶快学起来啦!使用gitgit下载完

2020-11-16 00:06:05 933

原创 leetcode 206 反转链表

题目:反转一个单链表示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL题目分析对一个单链表进行转置方法说明迭代在原链表之前增加一个空的指针newHead(不用申请新的结点)从head开始 == 后一个结点移动到newHead后面重复1,2直到head成为末节点代码class Solution {public: ListNode* reverse.

2020-06-03 09:47:42 106

原创 leetcode 17 电话号码的字母组合

题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].题目分析要求:根据数字寻找字母组合分析每一个位置根据数字选择一个字母组合 ==> ...

2020-04-07 22:47:29 112

原创 leetcode 60 第k个排列

题目给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。示例 1:输入: n = 3, k = 3输出: “213”示例 2:输入: n = 4, k = 9输出: “2314”...

2020-04-06 23:36:52 148

原创 leetcode 31下一个排列

题目实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1题目分析要求:求下一个字典序排列分析...

2020-04-05 10:57:11 123

原创 leetcode 47 全排列 II

题目给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]题目分析要求:返回所有不重复的全排列分析对排列的每一个位置放一个数寻找不同的排列例如输入:[1,1,2]对于第一个位置选1则第二个位置可选[1,2]第三个位置可选[2]解题思路变量作用说明...

2020-04-04 23:09:40 138

原创 leetcode 46 全排列

给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]题目分析要求:进行全排列分析对于全排列的第n个位置有 n - 1 的元素可以选择确定第n个元素的后确定第n + 1个元素 ==> 递归例如:输入[1,2...

2020-04-03 16:40:02 124

原创 leetcode 377 组合总和 IV

题目给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。题目分析要求:和为目标值的元...

2020-04-02 09:39:36 125

原创 leetcode 216组合总和III

题目找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]题目分析要求 :和为n ...

2020-04-01 10:00:51 103

原创 leetcode 40 数组总和II

题目给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为...

2020-03-31 14:48:29 127

原创 leetcode 39 组合总和

题目给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]示例 2:输入: candidates ...

2020-03-30 08:33:24 101

原创 leetcode 78 子集

题目:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]题目分析要求:求数组的所有子集分析取数组中的元素对当前的子集 ==> 插入元素 ==> ...

2020-03-29 09:27:50 85

原创 leetcode 105 从前序与中序遍历序列构造二叉树

题目根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7题目分析要求:前序遍历 + 中序遍历 ==> 构造二叉树...

2020-03-28 23:14:23 103

原创 leetcode 114 二叉树展开为有序链表

题目:给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6题目分析要求:二叉树 ==> 按中序遍历结果 ==>链表...

2020-03-27 10:52:14 160

原创 leetcode 108 将有序数组转换为二叉搜索树

题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5]它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -...

2020-03-26 08:24:50 147

原创 leetcode 236 二叉树的最近公共祖先

题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3...

2020-03-25 08:52:18 142

原创 leetcode 235 二叉搜索树的最近公共祖先

二叉搜索树?最近公共祖先!题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]示例...

2020-03-24 07:48:02 129

原创 leetcode 98 验证二叉搜索树

题目:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6...

2020-03-23 08:11:35 105

原创 leetcode 199 二叉树的右视图

二叉树?右视图题目:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---题目分析...

2020-03-22 13:38:55 132

原创 leetcode 103 二叉树的锯齿形层次遍历

题目:给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]题目分析要求从上往...

2020-03-21 09:41:34 154

原创 leetcode 107 二叉树的层次遍历II

二叉树?层次遍历!题目:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]题目分析...

2020-03-20 08:43:36 100

原创 leetcode 337 打家劫舍III

盗取最多的钱!题目:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例 1...

2020-03-19 11:14:12 106

原创 leetcode 124 二叉树中的最大路径和

二叉树?最大路径和!题目:给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。例子示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7] -10 / \ 9 2...

2020-03-18 11:25:44 89

原创 leetcode 110 平衡二叉树

是否是平衡二叉树?题目:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。例子:示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,...

2020-03-17 23:16:19 105

原创 leetcode 111 二叉树的最小深度

二叉树?最小深度!题目:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。例子:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \15 7返回它的最小深度 2.题目描述目标:根结点到最近的叶子结点结点数量把所有根结...

2020-03-16 09:12:50 95

原创 leetcode 129 求根到叶子节点数字之和

二叉树?生成数字之和!题目给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。例子示例 1:输入: [1,2,3] 1 / \2 3输出: 25解释:从根到叶子...

2020-03-15 11:04:19 187

原创 leetcode 路径总和 II

二叉树?路径和!题目给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。例子示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ ...

2020-03-14 15:34:05 134

原创 leetcode 112 路径总和

二叉树?路径总和!题目给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。例子给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ ...

2020-03-13 14:46:31 86

原创 leetcode 257 二叉树的所有路径

二叉树?寻找路径!题目给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。例子输入:—1–/ – \ 2 — 3-\–5输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3题目分析起点:根结点终点:叶子结点从根结点...

2020-03-12 19:28:18 162

原创 leetcode 226 翻转二叉树

二叉树? 翻转!题目翻转一棵二叉树。例子示例:输入:-----4---- / \ ----2–7—/ \ -/ \–1 3 6 9输出:----4----/ \ – 7 - 2–/ \ - / \-9 6 3 1题目分析翻转二叉树左右子树对称交换一颗二叉树对称左右子树的指针交换二叉树对称其子树也对称 =...

2020-02-04 23:05:05 100

原创 leetcode 101对称二叉树

二叉树?对称!题目:给定一个二叉树,检查它是否是镜像对称的例子:二叉树 [1,2,2,3,4,4,3] 是对称的— 1– /—\–2----2-/-\ – /-\3 4-- 4 3题目分析对称二叉树1.左右子树 ==> 结构相同2.左右子树 ==> 对应位置数字相同二叉树对称 ==> 左右子树相同对于当前根结点左子树的右子...

2020-02-02 14:09:15 173

原创 leetcode 100 相同的树

二叉树?是否相同?题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。例子:示例 1:输入:–1 ------ 1- / \ ----- / \2 - 3 – 2 - 3[1,2,3], [1,2,3]输出: true示例 2:输入:—1 — 1...

2020-01-28 11:19:10 118

原创 leetcode 102 二叉树的层次遍历

二叉树?层次遍历!题目:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例子:给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回其层次遍历结果:[[3],[9,20],[15,7]]题目分析层次遍历从上到下从左到右按顺序保存每个结点 --> 队列(...

2020-01-25 16:49:31 159

原创 leetcode 94 二叉树的中序遍历(非递归)

二叉树?中序遍历题目:给定一个二叉树,返回它的中序 遍历例子:输入: [1,null,2,3]1\ 2/3输出: [1,3,2]题目分析中序遍历:左子树根节点右子树递归三行解决非递归? 栈 保存节点信息解题思路变量作用stack<TreeNode*> s保存节点信息TreeNode* temp...

2020-01-16 21:14:28 180

原创 leetcode 145 二叉树的后序遍历(非递归)

二叉树?后序遍历!题目:给定一个二叉树,返回它的 后序 遍历。例子:输入: [1,null,2,3]1\ 2/3输出: [3,2,1]题目分析后续遍历右子树根节点左子树递归三行解决不使用递归? 栈 保存节点信息 即可解题思路变量作用stack < Treenode * > s保存节点信息TreeNode * ...

2020-01-16 15:35:38 377

空空如也

空空如也

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

TA关注的人

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