自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python绘制三维图像实例

Python的Matplotlib库是一个比较强大的绘图库,可以比较好的代替Matlab实现绘图功能。

2020-08-09 21:36:56 4720

原创 LeetCode 课程表

题目 207:你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0,你需要先完成课程 1,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入:2,[[1,0]]输出:true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这时可能的。示例 2:输入:2,[[1,0],[0,1]]输出:false解释:总共有

2020-05-12 20:06:13 236

原创 LaTeX 学习笔记之基本使用

学习 LaTeX 也有半年有余了,网上各种学习资料看了一篇又一篇,但是总感觉没有起多大作用,该不会的还是不会。其实,所欠缺的就是实践。所以,一篇LaTeX排版学习笔记,自己把这一篇文章全部打一遍,既可以学习 LaTeX 的基础知识并锻炼使用 LaTeX 排版的能力。

2020-05-02 20:59:13 1277

原创 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,5,...

2020-04-29 08:53:26 186

原创 LeetCode 二叉树的最大深度

题目 104:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \9 20 / \ 15 7返回它的最大深度 3。函数递归使用函数递归的方法求二叉树的最大深度,如果根节点为空,那么深度为 0;如果根节点不为空,分...

2020-04-28 09:29:05 129

原创 概率论不等式的简单总结

解决不能准确计算出概率和期望的问题的有效策略有三种:模拟、约束和近似。

2020-04-27 17:33:21 7374

原创 stack 容器与 queue 容器入门

欢迎前往我的个人博客阅读原文。学习了五种常用的容器,还剩下 stack 堆栈容器和 queue 队列容器没有学习。今天就来学习这两种容器。stack 堆栈容器stack 堆栈是一个后进先出(Last In First Out,LIFO) 的线性表,插入和删除元素都只能在表的一端进行。插入元素的一端称为栈顶(Stack Top),而另一端则称为栈底(Stack Bottom)。插入元素叫入...

2020-04-24 14:41:35 182 1

原创 list 双向链表容器入门

欢迎前往我的个人博客阅读原文。今天来学习 list 双向链表容器。list 容器实现了双向链表的数据结构,数据元素通过链表指针连成线性表(逻辑意义上的),从而,对链表任意位置上的元素进行插入、删除和查找操作都是极快速的。list 每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存的是前驱元素的首地址;数据域保存本节点的数据;后继元素指针域则保存后继元素的首地址。值...

2020-04-23 10:21:39 232

原创 LeetCode 对称二叉树

题目 101:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3递归思路如果根节点为空,则终止;...

2020-04-22 10:05:20 119

原创 LeetCode 相同的树

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

2020-04-21 14:52:53 144

原创 deque 双端队列入门

欢迎前往我的个人博客阅读原文。deque 双端队列容器和 vector 向量容器相同的是采用的都是线性表顺序存储结构;不同的是 deque 双端队列容器采用分块的线性存储结构来存储数据,每块的大小一般为 512 字节,称为一个 deque 块,所有的 deque 块使用一个 Map 块进行管理,每个 Map 数据项记录各个 deque 块的首地址。deque 块在头部和尾部都可插入和删除元...

2020-04-20 19:31:30 199

原创 map 映照容器入门

欢迎前往我的个人博客阅读原文。类似于 python 中的字典,map 映照容器的元素数据是由一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系。map 映照容器插入元素的键值不允许重复,比较函数只对元素的键值进行比较,元素的各项数据可通过键值检索出来。(map 映照容器的数据结构是采用红黑树来实现的,看来要补充的知识好多)。使用 map 容器需要头文件包含语句:#inc...

2020-04-19 15:54:02 187

原创 string 基本字符系列容器入门

今天继续学习 C++ 中的容器。C++ STL 提供了 string 基本字符系列容器来处理字符串,可以把 string 理解为字符串类,它提供了添加、删除、替换、查找和比较等丰富的方法。使用 string 容器,需要头文件包含声明:#include<string>创建 string 对象#include<string>#include<iostream&...

2020-04-18 10:43:01 194

原创 vector 向量容器入门

在刷 LeetCode 的过程中,如果使用 c++ 进行提交,基本上都会遇到 vector 向量容器。由于以前学习 c++ 的过程中,没有涉及到容器的相关概念,一直都对 vector 一头雾水,所以我决定深入学习一些 c++ 的知识,今天就从 vector 向量容器开始。vector 向量容器不但能像数组一样对元素进行随机访问,还能在尾部插入元素,是一种简单、高效的容器,完全可以替代数组。而且,...

2020-04-17 09:49:42 338

原创 LeetCode 格雷编码

题目 89:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入:2输出:[0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 ...

2020-04-16 12:29:48 134

原创 LeetCode 子集

题目 78:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入:nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]思路遍历 nums,每一次复制之前所有的 vector,加入一个新的元素,直到所有元素...

2020-04-15 17:48:31 131

原创 搭建更美观的博客

欢迎前往我的个人博客阅读原文选择主题进入Hexo主题专栏,从中选择自己喜欢的博客主题然后进行克隆。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-13peLflC-1586493293227)(https://i.loli.net/2020/04/09/mRjSB4Ft7dDHzhX.png)]这里我并没有在 Hexo 主页的主题中选择,而是选择有哪些好看...

2020-04-12 15:30:51 288

原创 Github 和 Hexo 搭建博客

Github 和 Hexo 搭建博客因为在学习数据结构与算法的过程中,老师要求刷 LeetCode 题目并撰写博客,于是我开始了 CSDN 博客之旅。但是个人并不喜欢 CSDN 的博客,又一直有自己做网站的想法,所以就学习使用 Github 和 Hexo 搭建一个博客,并记录搭建博客的过程。Hexo什么是 Hexo?Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdow...

2020-04-11 11:28:19 190

原创 LeetCode 逆波兰表达式求值

题目 150:根据逆波兰表示法,求表达式的值。有效的运算符包括 +,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入:["2","1","+","3","*"]输出:9解释:((2 + 1) * 3) = 9示例 2:输入:[...

2020-04-10 10:32:16 137

原创 LeetCode 只出现一次的数字

题目 136:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?示例 1:输入:[2,2,1]输出:1示例 2:输入:[4,1,2,1,2]输出:4位运算使用位运算异或操作实现目标,异或具有以下性质:任意一个数和 0 异或仍然为自己;任意一个数和自己...

2020-04-09 14:13:47 98

原创 LeetCode 无重复字符的最长子串

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

2020-04-08 08:45:26 73

原创 LeetCode 最长公共前缀

题目 14:编写一个函数查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:["flower","flow","flight"]输出:"fl"示例 2:输入:["dog","racecar","car"]输出:""解释:输入不存在公共前缀说明:所有输入只包含小写字母 a-z。思路不妨将第一个字符串中的每个字符和其他字符串中的字符进行比较...

2020-04-07 08:02:43 116

原创 LeetCode 反转字符串

题目 344:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输...

2020-04-06 19:56:57 97

原创 LeetCode 最大子序和

题目 53:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。...

2020-03-30 20:52:23 103

原创 LeetCode 最小栈

题目 155:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push...

2020-03-29 10:52:19 134

原创 LeetCode 有效的括号

题目 20:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入:"()"输出:true示例 2:输入:"()[]{}"输出:true示例 3:输入:"(]"输出:false示例 4:输入:...

2020-03-28 08:54:05 187 1

原创 LeetCode 滑动窗口最大值

题目 239:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例:输入:nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出:[3,3,5,5,6,7]解释: 滑动窗口的位置 最大值___________...

2020-03-27 14:57:30 173

原创 LeetCode 设计循环双端队列

题目 641:设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为 k。insertFront():将一个元素添加到双端队列的头部。如果操作成功返回 true。insertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。deleteFront():从双端队列头部删除一个元素。如果操作成功返回 true。d...

2020-03-26 07:56:16 209 1

原创 LeetCode 整数反转

题目 7:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入:123输出:321示例 2:输入:-123输出:-321示例 3:输入:120输出:21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,231−1][-2^{31},2^{31}-1][−231,231−1]。请根据这个假设,如果反转后整...

2020-03-25 07:54:13 133

原创 最大流问题

Created with Raphaël 2.2.0抹去所有标号给起点v1标号(1,+),v1成为已标号未检查点终点vn是否标号?

2020-03-24 14:56:26 824

原创 LeetCode 环形链表

题目 141:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该表中没有环。示例 1:输入:head = [3, 2, 0, -4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1, 2], pos = 0...

2020-03-13 09:39:57 145

原创 LeetCode 删除排序链表中的重复元素

题目 83:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入:1->1->2输出:1->2示例 2:输入:1->1->2->3->3输出:1->2->3双指针法可以参考LeetCode 删除排序数组中的重复项,采用双指针法,一个指向不重复的最后一节点,一个负责遍历。不过首先要将空链表的情况排除,否...

2020-03-12 07:56:12 199

原创 LeetCode 合并两个有序链表

题目 21:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4,1->3->4输出:1->1->2->3->4->4首先,最直接的思路,另外创建一个链表,比较两个链表每个节点的值的大小,将每一次较小的赋值给新的链表,通过循环可以得到最后的结果:/** * Defi...

2020-03-11 17:27:46 96

原创 LeetCode 买卖股票的最佳时机Ⅱ

题目 122:给定一个数组,它的第 iii 个元素是一支给定股票第 iii 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候...

2020-03-04 21:19:56 126

原创 LeetCode 移除元素

题目27:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1)O(1)O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 ...

2020-02-22 10:02:28 89

原创 LeetCode 删除排序数组中的重复项

题目 26:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1)O(1)O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的...

2020-02-21 08:51:28 271

原创 LeetCode 两数之和

题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...

2020-02-20 21:28:52 166

空空如也

空空如也

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

TA关注的人

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