小白做题日志
Rachelism
这个作者很懒,什么都没留下…
展开
-
化栈为队 时间100%,空间60.07%
实现一个MyQueue类,该类用两个栈来实现一个队列。 示例: MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // 返回 1 queue.pop(); // 返回 1 queue.empty(); // 返回 false 说明: 你只能使用标准的栈操作 -- 也就是只有push to top,peek/pop from top,size和is empty操...原创 2021-09-08 14:41:57 · 85 阅读 · 0 评论 -
栈的最小值
题目: 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> 返回 -3. minStack.pop(); minStack.top(); ..原创 2021-07-24 16:10:58 · 134 阅读 · 0 评论 -
用栈操作构建数组
给你一个目标数组 target 和一个整数 n。每次迭代,需要从list = {1,2,3..., n} 中依序读取一个数字。 请使用下述操作来构建目标数组 target : Push:从 list 中读取一个新元素, 并将其推入数组中。 Pop:删除数组中的最后一个元素。 如果目标数组构建完成,就停止读取更多元素。 题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。 请返回构建目标数组所用的操作序列。 题目数据保证答案是唯一的。 示例 1: 输入:target = [..原创 2021-07-23 14:08:33 · 186 阅读 · 0 评论