数据结构
数据结构
思维在奔跑
这个作者很懒,什么都没留下…
展开
-
剑指 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 · 277 阅读 · 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 · 800 阅读 · 0 评论 -
[算法竞赛进阶指南] Acwing 132. 小组队列
有n个小组要排成一个队列,每个小组中有若干人。 当一个人来到队列时,如果队列中已经有了自己小组的成员,他就直接插队排在自己小组成员的后面,否则就站在队伍的最后面。 请你编写一个程序,模拟这种小组队列。 输入格式: 输入将包含一个或多个测试用例。 对于每个测试用例,第一行输入小组数量t。 接下来t行,每行输入一个小组描述,第一个数表示这个小组的人数,接下来的数表示这个小组的人的编号。 编号是0到99...原创 2020-04-29 10:54:48 · 168 阅读 · 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 · 165 阅读 · 0 评论 -
[单调栈]模板题
P5788 【模板】单调栈 题目描述原创 2020-02-29 21:28:20 · 192 阅读 · 0 评论 -
[单调队列]滑动窗口
P1886 滑动窗口 /【模板】单调队列 题目描述 有一个长为 n 的序列 a,以及一个大小为 k 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 解题思路 如果按照暴力方法做的话,每一次判断相邻的k个数的最大值和最小值,复杂度为O(n*k),肯定会超时,因此就想到把 ...原创 2020-02-29 20:33:29 · 611 阅读 · 0 评论