自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)

原创 从中序与后序遍历序列构造二叉树

从中序与后序遍历序列构造二叉树根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7思路:依据中序与后序遍历序列构造二叉树是数据结构里的经典问题,类似的还有依据先序和中序遍历序列构建二叉树,思考过程类似,前者的思路为:后序遍历找到根节点, 中序遍

2020-09-25 16:35:14 18

原创 [LeetCode]10.正则表达式匹配

10.正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。’.’ 匹配任意单个字符’*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = "aa"p = "a"输出: false解释: “a” 无法匹配 “aa” 整个字符串。示例 2:输

2020-09-23 16:33:32 8

原创 三种二叉树的中序遍历的方法

题目:二叉树的中序遍历描述二叉树的中序遍历总所周知遍历顺序为:左子树,根节点,右子树,同时对左右子树仍然采用中序遍历(左子树,根节点,右子树)。方法1:采用递归,代码比较简单,直接看代码。时间空间复杂度均为O(n),n为树的节点数量。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * Tr

2020-09-14 17:30:16 12

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

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

2020-07-03 11:32:36 56

原创 leetcode-5281.使结果不超过阈值的最小除数

leetcode-5281.使结果不超过阈值的最小除数(Find the Smallest Divisor Given a Threshold)题目给你一个整数数组 nums 和一个正整数 threshold ,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个。每个数除以除数后都向...

2019-12-08 15:31:19 59

原创 Leetcode15 三数之和(双指针)

3sum题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]给定一个包含 n 个...

2019-12-06 19:42:09 53

原创 POj 2075 Tangled in Cables(最小生成树)

POj 2075 Tangled in Cables题意: 给出电缆长度L,有N个村庄,给出M条村庄之间的信息,信息格式:村庄A 村庄B 距离D,问用已有的长度为L的电缆能否把所有村庄连接起来,如果能需要多少电缆。思路: 明显的最短生成树的模板题。再次复习一下克鲁斯克尔算法(kruskal)kruskal算法步骤:新建图G,G中拥有原图中相同的节点,但没有边将原图中所有的边...

2019-10-05 16:04:40 84

原创 POJ 1105 S-Trees(二分)

POJ 1105 S-Trees题意: 定义一种结构叫做S-tree,给定深度n,S-tree是一颗深度为n(n<=7)的满二叉树(根节点深度为0),树节点上标记着变量的名字,并且树的同一层上的变量名相同,叶子节点为1,或者0。例如给定深度为3的两颗树所以表达一棵树只需要给出变量序列和叶子节点即可,左边的树可以表达为x1 x2 x3 00000111右边的树表达为:x3 x...

2019-10-04 22:22:31 67

原创 POJ 1145 Tree Summing(树)

POJ 1145 Tree Summing题意: Lisp语言中表达一颗树是用叫做S-expressions的方式来表达的,S-expressions有如下形式:empty tree ::= ()tree ::= empty tree (integer tree tree)比如下图这颗树用S-expressions表达为:(5 (4 (11 (7 () ()) (2 () ...

2019-10-04 17:20:44 63

原创 POJ 1840 Eqs(双向DFS)

Description有如下方程:a1x13+a2x23+a3x33+a4x43+a5x53=0a_1x_1^{3}+a_2x_2^{3}+a_3x_3^{3}+a_4x_4^{3}+a_5x_5^{3}=0a1​x13​+a2​x23​+a3​x33​+a4​x43​+a5​x53​=0系数:a1,...,a5∈[−50,50]a_1,...,a_5 \in [-50, 50]a1​,......

2019-09-10 18:04:11 52

原创 POJ 1186方程的解数(DFS+哈希)

题意Time Limit: 15000MS Memory Limit: 128000KDescription已知一个n元高次方程:k1x1p1+k2x2p2+......+knxnpn=0k_1x_1^{p1}+k_2x_2^{p_2}+......+k_nx_n^{p_n}=0k1​x1p1​+k2​x2p2​​+......+kn​xnpn​​=0其中:x1,x2,...,xn是未知...

2019-09-10 16:25:55 67

原创 POJ3126 Prime Path(BFS)

题目链接:POJ 3126题意:每一组测试数据给定2个4位数的素数(第一位不为0),如1033,8179,要求每次只能变化一位,求从1033变化到8179需要多少步?这种情况的方案如下,需要6步1033173337333739377987798179InputOne line with a positive number: the number of test cases (...

2019-08-17 12:44:58 61

原创 Leetcode 51. N-Queens

51. N-QueensThe n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Given an integer n, return all distinct solutions to the n-queens p...

2019-07-14 15:19:15 53

原创 遗传算法详解 附python代码实现

遗传算法遗传算法是用于解决最优化问题的一种搜索算法。从名字来看,遗传算法借用了生物学里达尔文的进化理论:”适者生存,不适者淘汰“,将该理论以算法的形式表现出来就是遗传算法的过程。问题引入上面提到遗传算法是用来解决最优化问题的,下面我将以求二元函数:def F(x, y): return 3*(1-x)**2*np.exp(-(x**2)-(y+1)**2)- 10*(x/5 - x**3...

2019-06-10 11:14:59 17183 44

原创 栈的经典应用问题:表达式求值,传统做法,C++代码(LeetCode 227. Basic Calculator II,224. Basic Calculator)

给定一个字符串形式表达式,不使用内置库,将表达式的值求出。224题只考虑表达式内含有+ - ( ),而227题只考虑表达式内有+ - * / 没有考虑括号的问题,这里打算写出一个考虑+ - * / ( )的解决方案,把两题一起做了,这里的-号是减号,不是负号,也不考虑负数。224. Basic CalculatorImplement a basic calculator to evaluat...

2019-05-19 22:14:26 88

原创 C++关键字:explicit与构造函数浅析

C++关键字:explicit与构造函数C++关键字explicit常常用来放在接受一个实参的构造函数(non-explicit-one-argument-constructor)前,以防止编译器在某些条件下的默认行为——调用该构造函数来实现类型转换。当声明一个构造函数为explicit时,表示这个构造函数只能通过用户显示调用来创建对象。首先谈谈explicit常常使用的地方:non-expl...

2019-05-19 15:39:37 156

原创 LeetCode 150. Evaluate Reverse Polish Notation(后缀表达式)

150. Evaluate Reverse Polish NotationEvaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are +, -, *, /. Each operand may be an integer or another expression.N...

2019-05-18 23:16:49 64

原创 吴恩达深度学习笔记:RNN模型简介

RNN model1、Notation吴恩达深度学习课程中采用了如下的记号以命名体识别为例子来举例,如输入一句话,识别出哪个单词是人名,有以下句子:He said,“Teddy Roosevelt was a great President”.Notation:Notation:Notation:TxT^{x}Tx表示输入序列的长度,如上面这句话有8个单词所以Tx=8T^{x}=8...

2019-05-13 11:53:54 495

原创 145. Binary Tree Postorder Traversal(二叉树的后序遍历,C++,递归+迭代)

Given a binary tree, return the postorder traversal of its nodes’ values.Example:Input: [1,null,2,3] 1 \ 2 / 3Output: [3,2,1]Follow up: Recursive solution is trivial, could y...

2019-04-23 18:24:25 69

原创 LeetCode 144. Binary Tree Preorder Traversal(二叉树的先序遍历,C++,递归+非递归)

144. Binary Tree Preorder TraversalGiven a binary tree, return the preorder traversal of its nodes’ values.Example:Input: [1,null,2,3] 1 \ 2 / 3Output: [1,2,3]Follow up: Recur...

2019-04-23 16:08:50 101

原创 LeetCode 146. LRU Cache(map+vector,C++,速度较慢待优化)

map+vectorclass LRUCache {public: unordered_map<int, int> dic; vector<int> time;//最近加入或者最近使用过的放在最后 int c; LRUCache(int capacity) { c = capacity; } ...

2019-04-22 23:55:51 122

原创 LeetCode 102. Binary Tree Level Order Traversal(二叉树的层次遍历,C++,Python)

Binary Tree Level Order TraversalGiven a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example:Given binary tree [3,9,20,null,null...

2019-04-22 22:32:08 52

原创 LeetCode 94. Binary Tree Inorder Traversal(二叉树的中序遍历,C++,Python,递归+非递归)

Given a binary tree, return the inorder traversal of its nodes’ values.Example:Input: [1,null,2,3] 1 \ 2 / 3Output: [1,3,2]Follow up: Recursive solution is trivial, could you d...

2019-04-21 21:53:44 78

原创 LeetCode 701. Insert into a Binary Search Tree(向二叉搜索树中插入一个节点,C++,Python)

701. Insert into a Binary Search TreeGiven the root node of a binary search tree (BST) and a value to be inserted into the tree, insert the value into the BST. Return the root node of the BST after t...

2019-04-21 18:01:24 88

原创 LeetCode 101. Symmetric Tree(判断是否是对称树,C++, Python,递归与非递归做法)

101. Symmetric TreeGiven a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree [1,2,2,3,4,4,3] is symmetric: 1 / \ 2 2 / \...

2019-04-21 14:57:16 119

原创 LeetCode 98. Validate Binary Search Tree(判断是否为二叉搜索树,C++,python)

98. Validate Binary Search TreeGiven a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys ...

2019-04-21 10:47:53 136

原创 LeetCode 811. Subdomain Visit Count(哈希表的简单运用,c++,python)

class Solution(object): def subdomainVisits(self, cpdomains): """ :type cpdomains: List[str] :rtype: List[str] """ dic = {} for domain in cpdomains:...

2019-04-19 16:51:21 118

原创 LeetCode 78. Subsets(DFS + 回溯,C++)

78. SubsetsMediumGiven a set of distinct integers, nums, return all possible subsets (the power set).Note: The solution set must not contain duplicate subsets.ExampleInput: nums = [1,2,3]Output:...

2019-04-19 10:54:42 338

原创 POJ 3468 A Simple Problem with Integers(线段树,区间更新,区间查询,lazy标记)

A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 152160 Accepted: 47174Case Time Limit: 2000MSDescriptionYou have N integers, A1, A2, … , AN. You need to...

2019-03-23 21:50:23 56

原创 HDOJ 1166 敌兵布阵(线段树,单点更新,区间查询)

敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 135466 Accepted Submission(s): 56586Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子D...

2019-03-23 16:20:39 37

原创 HDOJ1754 I Hate It(线段树,单点更新,区间查询)

I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 112159 Accepted Submission(s): 41867Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从...

2019-03-23 15:50:25 42

原创 拓扑排序入门

栗子先来看一个实际案例来引出拓扑排序的概念。大学四年有很多课程,假设这些课程表示为C1,C2,…,C12,一共12门课程如下表:而这些课程的学习顺序是有限制的,比如在学习《数据结构》C3之前必须先学习《程序设计基础》C1和《离散数学》C2,学习《操作系统》C8前必须先学习《数据结构》C3和《计算机组成原理》C6。而学习《程序设计基础课》C1,和《高等数学》C9不需要其他课程作为基础。这样我...

2019-03-15 09:36:58 47

原创 HDOJ 1285 确定比赛名次(拓扑排序模版题)

确定比赛名次Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 40126 Accepted Submission(s): 15461Problem Description有N个比赛队(1<=N<=500),编号依次为...

2019-03-15 00:00:16 64

原创 HDOJ 2647 Reward(拓扑排序+逆向建图)

RewardTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14214 Accepted Submission(s): 4551Problem DescriptionDandelion’s uncle is a boss of...

2019-03-14 20:58:49 81

原创 hdoj 3342 Legal or Not(拓扑排序:有向图判环)

Legal or NotTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11846 Accepted Submission(s): 5570Problem DescriptionACM-DIY is a large QQ gr...

2019-03-14 20:28:50 127

原创 csp 小明放学(C++的坑)

题目背景  汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述  一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,...

2019-03-13 11:11:55 514 1

原创 POJ1611(简单并查集)

题意:N个学生分属M个团体,(0<N<=30000,0<=M<=500)一个学生可以属于多个团体。如果一个学生疑似患病,则它所属的整个团体都疑是患病。已知0号学生疑是患病,以及每个团体都有哪些学生构成,求一共多少个学生疑是患病。InputThe input file contains several cases. Each test case begins with t...

2019-03-09 21:44:25 46

原创 HDOJ1232畅通工程(并查集求图的连通分量)

1、HDU1232畅通工程并查集简介(维基百科):在计算机科学中,并查集是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个用于此数据结构的操作:Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。Union:将两个子集合并成同一个集合。为了更加精确的...

2019-03-09 17:02:37 80

原创 并查集入门

先推荐两个个人认为非常好的教程,可以对比以下再抉择看哪一个好理解。这篇博客的内容来自B站一个非常棒的入门视频,个人在学习时整理成笔记发了出来。这个UP主的其它内容也通俗易懂,非常推荐!!还有这个博客讲并查集入门也是非常通俗易懂,语言也是相当幽默,佩服佩服!下面以并查集在查找图中是否存在环的问题入手,详细说明并查集的每一个步骤一、并查集入门例题例如有如下一个图(以下讨论都是无向图)。并查集...

2019-03-09 12:18:37 77

原创 POJ2485 Highways(最小生成树模版题,Prim+kruskal)

题目题目输入为一个图的邻接矩阵,求图的最小生成树中最长边的权值。直接用Prim算法解决,详细原理可以参考我的这篇博客假设N={V,{E}}N=\{V,\{E\}\}N={V,{E}}是连通网,TETETE是NNN上最小生成树的边集合,Prim算法将图中所有顶点分为两类,一类为集合UUU,该集合中的点表示该点已经被选取为生成树上的一个点,另一类为集合V−UV-UV−U,表示还未被选取为生成树中...

2019-03-07 21:21:03 73

空空如也

空空如也

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