######前言:本人第一次刷LeetCode,我是按照题目顺序开始刷的,第一题为“两数之和”、即使难度为“简单”,但仍然花费了很长时间才勉强做出来,为什么说是勉强做出来?因为我仅仅是实现了功能,但是在做法以及时间、空间复杂度上却比较笨重且消耗了大量的资源,但仍然想借此记录一下, 毕竟是耗费了脑细胞 ...
分类:
其他好文 时间:
2020-07-17 09:26:43
阅读次数:
65
模板题:Luogu P3804 感谢ivorysi学姐_(:з」∠)_给我讲了一上午才明白 后缀自动机 ${\rm (Suffix\ Automaton,SAM)}$是一个用来匹配单模板串的所有子串的算法。 ${\rm SAM}$的空间复杂度、构造的时间复杂度都是$O(n)$的。 后缀自动机是一个$ ...
分类:
其他好文 时间:
2020-07-16 12:08:04
阅读次数:
64
题目来源:leetcode148 排序链表 题目描述: 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 解题思路 ...
分类:
编程语言 时间:
2020-07-16 00:16:55
阅读次数:
66
题目描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例: 输入: 4->2->1->3 输出: 1->2->3->4 题目链接: https://leetcode-cn.com/problems/sort-list/ 思路1 使用两个栈来做,类似于栈排序的方法。代 ...
分类:
编程语言 时间:
2020-07-13 21:56:15
阅读次数:
71
斐波那契数列 起源 兔子问题:“假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一年后共有多少对兔子?” 分析:第一个月兔子没有繁殖能力,所以还是一对;两个月后生下一对兔子,共有两对;三个月后,老兔子生下一对,小 ...
分类:
其他好文 时间:
2020-07-13 11:26:20
阅读次数:
95
在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 # Definition for singly-linked l ...
分类:
编程语言 时间:
2020-07-12 14:49:04
阅读次数:
55
题目描述 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置( ...
分类:
编程语言 时间:
2020-07-11 17:02:15
阅读次数:
67
题目描述 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例: 输入: 1->2->3- ...
分类:
其他好文 时间:
2020-07-11 15:37:06
阅读次数:
48
在分析算法时,我们需要考虑时间复杂度和空间复杂度。 算法的时间复杂度根据输入长度来量化算法运行所需的时间。 类似地,算法的空间复杂度将算法占用的空间或内存量量化为输入长度的函数。时间和空间的复杂性取决于许多因素,例如硬件,操作系统,处理器等。但是,在分析算法时,一般不考虑这些因素,而只考虑算法的执行 ...
分类:
编程语言 时间:
2020-07-10 00:30:47
阅读次数:
76
【题目描述】 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2输出: false示例 2: 输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 来源:力扣(LeetCode)链接:https://leetcode-cn.co ...
分类:
其他好文 时间:
2020-07-09 16:44:40
阅读次数:
66