逐行入栈,排序后直接输出第k小的数据 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self. ...
分类:
编程语言 时间:
2021-06-25 16:32:21
阅读次数:
0
感觉有一些地方没有梳理通,需要重新考虑一遍。 一开始的建图,是没有问题的。 对于任意三元组 \((x,y,z)\),若满足 \(x<y<z\) 且 \(a_x<a_y\) 且 \(a_x>a_z\),那么 \(x,y\) 之间便有一条之间相连的边。 关键在于我后面的使用非常的 Naive,才导致 W ...
分类:
编程语言 时间:
2020-12-19 12:08:28
阅读次数:
2
题目描述 在 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
##题意 传送门 通过两个栈,4中操作,实现输入序列升序排序 \(操作a:如果输入序列不为空,将第一个元素压入栈S_{1}\) \(操作b:如果栈S_{1}不为空,将S_{1}栈顶元素弹出至输出序列\) \(操作c:如果输入序列不为空,将第一个元素压入栈S_{2}\) \(操作d:如果栈S_{2}不 ...
分类:
编程语言 时间:
2020-07-11 17:08:48
阅读次数:
66
题目 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。 示例1: 输入: ["SortedStack", "pus ...
分类:
编程语言 时间:
2020-06-20 22:06:30
阅读次数:
57
# 题意通过两个栈,4中操作,实现输入序列升序排序操作a:如果输入序列不为空,将第一个元素压入栈S1操作b:如果栈S1不为空,将S1栈顶元素弹出至输出序列操作c:如果输入序列不为空,将第一个元素压入栈S2操作d:如果栈S2不为空,将S2栈顶元素弹出至输出序列如果一个1~n的排列P可以通过一系列操作使 ...
分类:
编程语言 时间:
2020-03-15 09:47:23
阅读次数:
73
双栈排序 题目链接:https://www.luogu.org/problem/P1155 数据范围:略。 题解: 神仙题。 就第一步就够劝退了。 这个二分图非常不容易,首先只有两个栈,不是属于一个就是属于另一个,我们用二分图判断冲突。 然后不能模拟,我们就贪心的bfs就行了,这一步很鬼畜啊.... ...
分类:
编程语言 时间:
2019-10-30 00:10:11
阅读次数:
103
题目描述 Tom最近在研究一个有趣的排序问题。如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序。 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈S1不为空,将S1栈顶元素弹出至输出序列 操作c 如果输入序列不为空,将第一个元素压入栈S2? 操作d ...
分类:
编程语言 时间:
2019-09-03 00:11:41
阅读次数:
128
题意 Tom最近在研究一个有趣的排序问题。如图所示,通过2个栈$S_1$和$S_2$,Tom希望借助以下4种操作实现将输入序列升序排序。 操作a 如果输入序列不为空,将第一个元素压入栈$S_1$ 操作b 如果栈$S_1$不为空,将$S_1$栈顶元素弹出至输出序列 操作c 如果输入序列不为空,将第一个 ...
分类:
编程语言 时间:
2019-02-20 09:32:49
阅读次数:
168