全部评论
第一个题印象比较深刻 让你实现一个数据结构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()先循环弹出栈内元素直到最大元素,然后再循环插入刚弹出的元素 嗯,大体思路就这样,估计大家还有更好的方法。第二题这会已经记不得了 - -
分享
相关推荐
投递字节跳动等公司9个岗位 > 字节跳动工作体验
点赞 评论 收藏
转发
03-21 09:44
Белорусский государственный университет 计算机类 点赞 评论 收藏
转发
点赞 评论 收藏
转发