摘要: 题目: 节点间通路。给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。 示例1: 输入:n = 3, graph = [[0, 1], [0, 2], [1, 2], [1, 2]], start = 0, target = 2 输出:true示例2: 输入:n = 5, graph = 阅读全文
posted @ 2020-03-05 21:56 silentteller 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 题目: 动物收容所。有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时必须收养此类动物中“最老”的)。换言之,收养人不能自由挑选想收养的对象。请创建适用于这个系统的数据结构 阅读全文
posted @ 2020-03-05 21:37 silentteller 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题目: 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。 示例1: 输入:["SortedStack", "pus 阅读全文
posted @ 2020-03-05 16:39 silentteller 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 题目: 实现一个MyQueue类,该类用两个栈来实现一个队列。 示例: MyQueue queue = new MyQueue(); queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); // 返回 1queue.empty(); 阅读全文
posted @ 2020-03-05 15:57 silentteller 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目: 堆盘子。设想有一堆盘子,堆太高可能会倒下来。因此,在现实生活中,盘子堆到一定高度时,我们就会另外堆一堆盘子。请实现数据结构SetOfStacks,模拟这种行为。SetOfStacks应该由多个栈组成,并且在前一个栈填满时新建一个栈。此外,SetOfStacks.push()和SetOfSta 阅读全文
posted @ 2020-03-05 15:45 silentteller 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题目: 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。 示例: MinStack minStack = new MinStack();minStack.push(-2);minStac 阅读全文
posted @ 2020-03-05 15:15 silentteller 阅读(280) 评论(0) 推荐(0) 编辑