程序员代码面试指南
半捧银河醉
这个作者很懒,什么都没留下…
展开
-
设计getMin功能的栈
题目描述 实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 输入描述 第一行输入一个整数N,表示对栈进行的操作总数。 下面N行每行输入一个字符串S,表示操作的种类。 如果S为"push",则后面还有一个整数X表示向栈里压入整数X。 如果S为"pop",则表示弹出栈顶操作。 如果S为"getMin",则表示询问当前栈中的最小元素是多少。 输出描述 ...原创 2019-08-16 17:05:31 · 121 阅读 · 0 评论 -
由两个栈组成的队列
题目描述 用两个栈实现队列,支持队列的基本操作。 输入描述 第一行输入一个整数N,表示对队列进行的操作总数。 下面N行每行输入一个字符串S,表示操作的种类。 如果S为"add",则后面还有一个整数X表示向队列尾部加入整数X。 如果S为"poll",则表示弹出队列头部操作。 如果S为"peek",则表示询问当前队列中头部元素是多少。 输出描述 对于每一个为"peek"的操作,输出一...原创 2019-08-16 19:05:02 · 198 阅读 · 0 评论 -
未排序数组中累加和为给定值的最长子数组
1.题目描述 给定一个数组arr,该数组无序,但每个值均为正数,再给定一个正数k。求arr的所有子数组中所有元素相加和为k的最长子数组的长度 例如,arr = [1, 2, 1, 1, 1], k = 3 累加和为3的最长子数组为[1, 1, 1],所以结果返回3 [要求] 时间复杂度为O(n)O(n),空间复杂度为O(1)O(1) 输入描述 第一行两个整数N, k。N表示数组长度,...原创 2019-08-16 20:30:41 · 294 阅读 · 0 评论 -
用一个栈实现另一个栈的排序
题目描述 一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序? 输入描述 第一行输入一个N,表示栈中元素的个数 第二行输入N个整数a_iai表示栈顶到栈底的各个元素 输出描述 输出一行表示排序后的栈中栈顶到栈底的各个元素。 N = int(input()) arr = lis...原创 2019-08-17 14:16:03 · 99 阅读 · 0 评论