亚马逊sde笔试题.docxVIP

  • 1
  • 0
  • 约6.01千字
  • 约 9页
  • 2026-08-06 发布于上海
  • 举报

亚马逊sde笔试题

考试时间:______分钟总分:______分姓名:______

第一题

请实现一个`MyStack`类,使用两个队列`queue1`和`queue2`来模拟栈的行为。栈需要支持以下操作:

1.`push(intx)`:将元素x压入栈顶。

2.`pop()`:移除并返回栈顶元素。

3.`top()`:返回栈顶元素,但不移除它。

你需要实现所有这些功能,并确保每个操作的时间复杂度尽可能高效。请提供`push`,`pop`,`top`方法的Python或Java实现,并简要分析每个方法的时间复杂度。

第二题

给定一个包含重复元素的整数数组`nums`,请编写一个函数`removeDuplicates`,返回删除重复元素后数组的新长度。你可以假设数组已就地修改,并使用额外的内存(空间复杂度O(1))来返回新长度。函数应返回一个包含所有唯一元素的数组,其余元素可以忽略。

例如:

输入:`nums=[1,1,2]`

输出:`2,nums=[1,2]`

解释:只需要修改nums数组的前两个位置,返回新长度2。

请提供该函数的Python或Java实现。

第三题

请解释快速排序(QuickSort)算法的基本思想。你需要描述其核心步骤,包括如何选择基准(pivot)元素,如

文档评论(0)

1亿VIP精品文档

相关文档