![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Razera
热爱技术,欢迎交流
展开
-
数组 - [165.比较版本号]
数组 - 165.比较版本号比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。你可以假设版本字符串非空,并且只包含数字和 . 字符。. 字符不代表小数点,而是用于分隔数字序列。例如,2.5 不是“两个半”,也不是“差一半到三”,而是第...原创 2020-01-21 13:34:31 · 216 阅读 · 0 评论 -
栈&分治 - [84. 柱状图中最大矩形]
栈&分治 84. 柱状图中最大矩形给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 2,1,5,6,2,3]图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10...原创 2020-01-13 14:46:00 · 244 阅读 · 0 评论 -
数组 - [825. 适龄的朋友]
数组 - 825. 适龄的朋友人们会互相发送好友请求,现在给定一个包含有他们年龄的数组,ages[i] 表示第 i 个人的年龄。当满足以下条件时,A 不能给 B(A、B不为同一人)发送好友请求:age[B] <= 0.5 * age[A] + 7age[B] > age[A]age[B] > 100 && age[A] < 100否则,A...原创 2020-01-13 10:07:21 · 183 阅读 · 0 评论 -
循环队列 - [622. 设计循环队列]
循环队列 - 622. 设计循环队列设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为环形缓冲器。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应...原创 2020-01-03 11:07:55 · 463 阅读 · 0 评论 -
并查集 & 拓扑排序 - [547. 朋友圈]
并查集 & 拓扑排序 - 547. 朋友圈班上有N名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个N * N的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你...原创 2019-11-20 18:23:04 · 141 阅读 · 0 评论 -
HashMap & 双向链表 - [146. LRU缓存机制]
哈希表 - 146. LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据get和 写入数据 put 。获取数据 get(key) : 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) : 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在...原创 2019-11-20 09:22:27 · 274 阅读 · 0 评论 -
图 & 拓扑排序 - [207. 课程表]
图 & 拓扑排序 - 207. 课程表一. 知识要点图图的术语顶点:图的节点边:顶点与顶点的连线相邻顶点:由一条边连接在一起的顶点度:一个顶点的度是相邻顶点的数量路径:路径是顶点v1, v2…, vn的一个连续序列, 比如0 1 5 9就是一条路径.环:一条路径包含相同的顶点两次或者两次以上无环图:没有环的图,其中 有向无环图 有特殊名称:DAG连通分支:不相...原创 2019-11-19 18:18:52 · 227 阅读 · 0 评论 -
时间复杂度 & 空间复杂度
时间复杂度 & 空间复杂度一.时间复杂度一.简介定义:算法中某个函数有n次基本操作重复执行,用T(n)表示,现在有某个辅助函数 f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度T(n):循环次数(操作次数)f(n):量级函数...原创 2019-11-15 15:45:38 · 389 阅读 · 0 评论