小米服务器开发端笔试问答题

大家都在问编程题,我来求问答题。
求下问答题题目,如果附带你的思路就更好了,谢谢牛油们~

//给问答题只留了15分钟的我,题都没读完233333
#小米#
全部评论
第一个题印象比较深刻 让你实现一个数据结构StackHeap,其功能包含栈与堆的特性,让你实现以下几个功能 1.size(), 返回其元素个数 2.stack_push(),栈顶插入元素,例如     stack.push(1)    {1}   size()  = 1     stack.push(3)    {1,3}   size() = 2     stack.push(2)    {1,3,2}  size()  = 3 3.heap_pop(),弹出栈内最大元素   heap_pop()后 栈内元素{1,2}, 弹出最大元素3 4.stack_pop(),弹出栈顶元素  2, 栈内元素为{1} 大概思路,利用链表实现栈,栈的add()方法为入栈,removeLast()弹出栈顶元素 实现heap_pop()时,可以利用另一个栈存储当前栈的最大元素,如果插入的元素没有栈顶元素大,继续插入和栈顶元素一样大的元素,heap_pop()一次需要链表保持同步, stack_pop()先循环弹出栈内元素直到最大元素,然后再循环插入刚弹出的元素 嗯,大体思路就这样,估计大家还有更好的方法。第二题这会已经记不得了 - -
点赞 回复
分享
发布于 2017-09-19 21:06

相关推荐

点赞 评论 收藏
转发
投递拼多多等公司10个岗位
点赞 评论 收藏
转发
点赞 2 评论
分享
牛客网
牛客企业服务