Pickyourtrail 面试体验 (SET 1)
第一轮问题
1. 他们让我用 Stack 来实现
一种)。推,
乙)。流行音乐
C)。将 K 添加到底部 e 元素
我不想使用Java提供的内置堆栈。因此,我编写了一个 Stack 类并为上述每个操作定义了功能。
我在这里使用了一个数组来维护堆栈。基本上它是一个使用数组的堆栈。
为一个)。 TC - O(1)。只需添加到数组中的当前空闲位置(顶部)并递增顶部。
乙)。 TC - O(1)。递减顶部并删除元素。
C)。 TC – O(e)。迭代底部 e 元素(从 0 -> e)并按 K 递增。
2. 给定 n 个整数和 k 值,打印对的总数,使得,
对于所有对 -> (a, b)
a) a < b
b) a + k == b
c) (a, b) 应该是唯一的。
对于 eq.,对于整数 1 1 2 2 2 和 k = 1
你只能有 1 对 = (1, 2)。
因为,
一种)。 1 < 2
乙)。 1 + k (1) == 2
我使用 Set 消除重复并在 <= O(n) 解决方案中给出了答案。
基本上 tc 是 O(non-duplicates)
3. 给定数组中的 N 个整数(包含重复项),使数组唯一。
约束,。
1. 只能递增,不能递减。
2. 使数组以最小的增量唯一,使得数组中的总元素之和必须最小。
面试很轻松。
第一轮反馈
—————————
1. 他们给了我 3 个编程问题,并要求我在一篇论文中为所有这些问题编写代码。我使用Java编程语言。我在这里提到了上面的问题。
2.我在TC和空间复杂度等方面为这三个方面提供了有效的解决方案。基本上对于所有这些问题,你无法进一步优化。
3. 然后他们在我附近的会议室讨论第一轮比赛,我可以偷听到他们在讨论什么。
4. 他们说,因为这个人来自亚马逊,他们无法满足工资要求,因此他们最终拒绝了我。说真的什么?
我现在有自我怀疑->什么?认真我参加过IT公司的面试吗?