数据结构
数据结构
思维在奔跑
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000解题思路刚开始自己想的是排序,然后扫一遍,找到跟前边一样的return,但是这种方法复杂度太高(O(nlogn))。O(n)的做法是扫一遍,把数字放到哈希表里,有重复的输原创 2022-04-20 08:25:07 · 248 阅读 · 0 评论 -
连续子数组/链表/二叉树问题
连续子数组最大和描述输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。数据范围:1 <= n <= 2e^5-100 <= a[i] <= 100要求:时间复杂度为 O(n)O(n),空间复杂度为 O(n)O(n)进阶:时间复杂度为 O(n)O(n),空间复杂度为 O(1)O(1)示例1输入:[1,-2,3,10,-4,7,2,-5]返回值:18复制说明:经分析可知,输入数组的子原创 2022-02-20 17:17:49 · 778 阅读 · 0 评论 -
[算法竞赛进阶指南] Acwing 132. 小组队列
有n个小组要排成一个队列,每个小组中有若干人。当一个人来到队列时,如果队列中已经有了自己小组的成员,他就直接插队排在自己小组成员的后面,否则就站在队伍的最后面。请你编写一个程序,模拟这种小组队列。输入格式:输入将包含一个或多个测试用例。对于每个测试用例,第一行输入小组数量t。接下来t行,每行输入一个小组描述,第一个数表示这个小组的人数,接下来的数表示这个小组的人的编号。编号是0到99...原创 2020-04-29 10:54:48 · 152 阅读 · 0 评论 -
[单调栈]Cow Acrobats
Farmer John’s N (1 <= N <= 50,000) cows (numbered 1…N) are planning to run away and join the circus. Their hoofed feet prevent them from tightrope walking and swinging from the trapeze (and thei...原创 2020-03-06 11:21:19 · 156 阅读 · 0 评论 -
[单调栈]模板题
P5788 【模板】单调栈题目描述原创 2020-02-29 21:28:20 · 185 阅读 · 0 评论 -
[单调队列]滑动窗口
P1886 滑动窗口 /【模板】单调队列题目描述有一个长为 n 的序列 a,以及一个大小为 k 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。解题思路如果按照暴力方法做的话,每一次判断相邻的k个数的最大值和最小值,复杂度为O(n*k),肯定会超时,因此就想到把...原创 2020-02-29 20:33:29 · 574 阅读 · 0 评论