三星研发 Noida 问题 2018 年 9 月
第 1 轮: 2018 年 9 月 10 日进行了在线编码轮次,约有 50 名候选人参加。我将直接进入那个特殊的问题,一个必须在 4 小时内解决的问题,并且该问题需要通过 50 个测试用例。任何通过所有测试用例的人都将被考虑参加下一轮面试。
问题是这样的……
您必须将公司的电子横幅放置在尽可能高的位置,以便整个城市都可以看到站在两个柱子顶部的横幅。
两个柱子的高度将从给定的数组中选择.. 比如说 [1, 2, 3, 4, 6]。我们必须最大化并排站立的两根柱子的高度,以便柱子的高度相等,并且可以在其顶部放置横幅。
在上面的数组中,(1, 2, 3, 4, 6) 我们可以选择这样的柱子,比如两个柱子 p1 和 p2..
那么柱子可以,
p1 = 3 unit... 从数组中选择元素 (3),
同样 p2 = 3 从数组中选择 (2 + 1)。
因为,两根柱子是相等的,我们可以在上面放木板……
但是我们有两个最大化柱子的高度,
如果我们检查其他高度,我们可以看到 p1 = 6 p2 = 4 + 2 大于 3(之前的高度)..
我们必须看看我们是否可以进一步最大化高度……是的,它可以是 8。
即 p1 = 6 + 2 = 8。p2 = 4 + 3 + 1 = 8。
两根柱子相等,可以放置横幅……由于这是两根柱子可达到的最大高度,我们将答案打印为 8。如果无法组合,则打印 0(零)。
输入 :
1
5
1 2 3 4 6
第一行是要遵循的 T 个测试用例。
第二行输入是不同支柱的数量。
第三行输入是柱子的不同可用高度。
注意:给定柱子的高度可以相同。即数组可以重复相同的元素。
输出。
8
只需打印可达到的最大高度,以便放置板/横幅。
如果没有可能的组合放置具有相同权重柱子的横幅,则打印 0。
约束:给出了一些一般性的约束,但我记不太清了。
这是在 4 小时内完成的问题。
第一轮后我就出局了,因为我无法解决这个问题。希望这可以帮助你破解三星面试。