HackWithInfy 2020 Power Programmer 角色面试经验
HackWithInfy 是 Infosys 的公开竞赛。它包含三个回合。
第1轮
第 1 轮,包含由 HackerEarth 主持的三个解决问题的编码问题。三个不同难度的问题。简单 50 分,中等 75 分,困难 100 分。总分 225 分。我只解决了一个编码问题(简单)。在这一轮中,我们可以看到通过了多少测试用例。
所有三胞胎分数的最大总和 [简单]
给定一个长度为 n 的数组,其中 n 是 3 的倍数。构造 n/3 个三元组 (a,b,c) 使得 a<=b<=c,则三元组的得分为 b(中间元素),例如所有三元组得分的总和最大。
例如:数组 = [ 4 , 2 , 3 , 1 , 5, 6 ] , 2 个三元组 t1 = [ 1 , 5 , 6] , t2 = [ 2 , 3 , 4] —> 总分是 5 + 3 = 8
方法一
第 1 步:对数组进行排序
第 2 步:考虑 1 个最小数和 2 个大数有一个三元组
步骤 3:所有三元组得分的总和
方法二
第 1 步:创建最大堆
第2步:弹出并弹出下一个最大的并将其添加到总和中
第 3 步:重复此第 2 步 n/3 次
第二轮
第 2 轮,包含三个由 HackerEarth 主持的解决问题的编码问题。三个不同难度的问题。简单 50 分,中等 75 分,困难 100 分。总分 225 分。我已经解决了两个编码问题(简单,中等)。在这一轮中,我们无法看到通过了多少测试用例。
可以访问的最大城市数量[简单]
给定 N 个城市,并且存在 N-1 条道路(双向),这样所有城市都可以通过这些道路访问。有 M 个恶魔,他们坐在 m 个不同的城市。每个人都害怕魔鬼,所以我们不能去那个城市。查找从城市“1”可以访问的最大城市数。给定 N 个城市,以及 X 城市和 Y 城市之间的 N-1 条道路。M 魔鬼,他们坐哪个城市。
示例:10 个城市
城市 X 和城市 Y 之间的道路
1 2
1 3
1 4
2 5
2 6
3 8
3 7
4 9
8 10
3个恶魔坐在2、8、9城
输出:3
我们可以参观 3, 7, 4
方法
- 构建图
- 遍历 DFS 或 BFS 并计算可以访问的城市数量
最多可以满足学生组 [ MEDIUM ]
给定 N 个学生小组,小组大小可能会有所不同,而 M 个不同半径的球组,小组大小可能会有所不同。如果每个学生组有不同半径的球并且每个学生至少有一个球,则称该学生组是满意的。球的位置是球的半径。
例如:学生组 [ 1, 2, 3]
球 [ 2, 2, 2]
半径为 1 的球是 2
半径为 2 的球是 2
半径为 3 的球是 3
输出:3
解释:
对于学生组 1 –> 尺寸 1,可以有一个剩余半径为 1 的球 [1, 2, 2]
对于学生组 2 — > 大小 2,可以有半径为 2 和 3 的球剩余 [1, 1, 1]
对于学生组 3 –> 尺寸 3,可以有剩余半径为 1、2 和 3 的球 [ 0, 0, 0 ]
所有学生团体都满意
.
.
前 108 名参与者将被选为 Hackathon [第 3 轮]。我不在前 108 名参与者中
面试第一轮 TR(时间 50 分钟到 1 小时)
这是在 Cisco Webex 上托管的虚拟面试。
面试官:说说你自己
我:回答
面试官:最喜欢的编程语言
我:Python
面试官: Python vs Java
我:回答
面试官:分享你的屏幕,编写一个程序,读取一个单词并确定它可能代表多少个单词,与输入的字母数相同。
例子
输入:预计到达时间
输出:7
解释
ETA 可以表示为。 – 。 –
预计到达时间 — > 。 – 。 –
ETET — > 。 – 。 –
AET — > 。 – 。 –
埃纳——> 。 – 。 –
EK -> 。 – 。 –
AA — > 。 – 。 –
逆转录-> 。 – 。 –
我:解释方法使用递归和使用递归结果的记忆编写代码
我们结束了采访
第 2 轮 TR(15 分钟)
面试官:说说你自己
我:回答
面试官:进程与线程
我:回答
面试官问了一些个人问题
我们结束了采访
十天后我收到了邮件
结果:选中
谢谢你的阅读