一、基础知识 1、AOV-网 (Activity On Vertex Network):用顶点表示活动,用弧表示活动之间的优先关系的有向无环图。 2、AOE-网 (Activity On Edge Network):用顶点表示事件,用边表示活动,带权的有向无环图。 3、拓扑排序:将AOV-网中所有顶
  本原串   由0和1组成的串中,不能表示为由几个相同的较小的串连接成的串,称为本原串,有多少个长为n(n<=100000000)的本原串? 答案mod2008.   例如,100100不是本原串,因为他是由两个100组成,而1101是本原串。  Input   输入包括多个数据,每个数
这是悦乐书的第179次更新,第181篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第38题(顺位题号是167)。给定已按升序排序的整数数组,找到两个数字,使它们相加到特定的目标数。函数twoSum应该返回两个数字的索引,使它们加起来到目标,其中index1必须小于ind
传统的二分查找算法 提到二分查找,相信很多人都不陌生,大学学数据结构的时候老师都讲过,它是一种效率较高的查找方法,基于顺序存储结构的线性表,且要求表中元素按关键字有序排列。假设元素非递减排列,则常见的二分查找过程如下: 将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功; 否则利用中
快速排序是一种高效且使用广泛的排序算法,在很多语言的标准库中自带的排序都是快速排序,所以我们也有必要了解快排的原理以及其实现方法。 快排的大致思想 快速排序实现的重点在于数组的拆分,通常我们将数组的第一个元素定义为比较元素,然后将数组中小于比较元素的数放到左边,将大于比较元素的放到右边, 这样我们就
1.向量介绍   计算机程序主要运行在内存中,而内存在逻辑上可以被看做是连续的地址。为了充分利用这一特性,在主流的编程语言中都存在一种底层的被称为数组(Array)的数据结构与之对应。在使用数组时需要事先声明固定的大小以便程序在运行时为其开辟内存空间;数组通过下标值计算出地址偏移量来对内部元素进行访
这是悦乐书的第181次更新,第183篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第40题(顺位题号是169)。给定大小为n的数组,找到数组中出现次数超过n/2的元素。假设该数组非空,并且该元素始终存在于数组中。例如: 输入:[3,2,3] 输出:3 输入:[2,2,1
这道题是LeetCode里的第101道题。是我在学数据结构——二叉树的时候碰见的题。 题目如下: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / 2 2 / / 3 4 4 3 但是
一只只会后缀自动机却不会后缀数组的弱鸡做了一下HDU - 1403,结果SAM被卡内存了,然后学习了一下SA。 以下两道题都是求LCS,区别在于字符串长度。 参考blog:https://www.cnblogs.com/victorique/p/8480093.html
数据:计算机中可以操作的对象 1.可以输入计算机,能被计算机识别 2.可以被计算机处理 数据项:构成数据的最小单位,若干个数据项构成数据元素。(人这个数据元素中,眼耳鼻等是数据项) 数据元素:组成数据的、有一定意义的基本单位。(人类中,人是数据元素) 数据对象:性质相同的数据元素的集合,是数据的子集
这道题是LeetCode里的第112道题。是我在学数据结构——二叉树的时候碰见的题。题目要求: 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22,
这是悦乐书的第183次更新,第185篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第42题(顺位题号是172)。给定一个整数n,返回n!中的尾随零数。例如: 输入:3 输出:0 说明:3! = 6,没有尾随零。 输入:5 输出:1 说明:5! = 120,一个尾随零。
分析 写bash,不太会啊…… 难度 中 来源 https://leetcode.com/problems/word-frequency/ 题目 Write a bash script to calculate the frequency of each word in a text file wo