gpt4 book ai didi

javascript - 盛水最多的容器

转载 作者:行者123 更新时间:2023-11-29 20:27:52 25 4
gpt4 key购买 nike

我在 geeksforgeeks 上回答了以下问题

Given n non-negative integers a_1, a_2, ..., a_n where each represents a point at coordinate (i, a_i) . ‘ n ‘ vertical lines are drawn such that the two endpoints of line i is at (i, a_i) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

The program should return an integer which corresponds to the maximum area of water that can be contained ( maximum area instead of maximum volume sounds weird but this is 2D plane we are working with for simplicity ).

提问链接:https://www.geeksforgeeks.org/container-with-most-water/

在这里,他们给出了以下示例并进行了解释

Input : [1, 5, 4, 3]
Output : 6
Explanation :
5 and 3 are distance 2 apart.
So the size of the base = 2.
Height of container = min(5, 3) = 3.
So total area = 3 * 2 = 6

Input : [3, 1, 2, 4, 5]
Output : 12
Explanation :
5 and 3 are distance 4 apart.
So the size of the base = 4.
Height of container = min(5, 3) = 3.
So total area = 4 * 3 = 12

但我仍然无法弄清楚问题需要我做什么?就像为什么在第一个示例中他们选择了第二个和最后一个元素(5 和 3),而在第二个示例中他们选择了第一个和最后一个元素?

最佳答案

您必须确定输入中的哪两行,当在一起时,创建水最多的容器。

对于第一个示例,使用 1, 5, 4, 3,您的一些其他选项是:

  • 1 和 5:结果是面积为 1(1 间隔 * 1 最小高度)

  • 1 和 4:结果是 2 的面积(2 相隔 * 1 最小高度)

  • 1 和 3:结果是 3 的面积(3 相隔 * 1 最小高度)

  • 5 和 4:结果是面积为 4(1 间隔 * 4 最小高度)

  • 4 和 3:结果是 3 的面积(1 间隔 * 1 最小高度)

将 5 和 3 放在一起(相差 2;索引 1 和索引 3)是所需的结果,因为它会产生最大的面积 (3 * 2 = 6)。

对于第二个示例,您的一些其他选项是:

  • 3 和 1:结果是面积为 1(1 相隔 * 1 最小高度)

  • 3 和 2:结果是面积为 4(2 相隔 * 2 最小高度)

  • 3 和 4:结果是 9 的面积(相隔 3 * 最小高度 3)

等等。最高结果是 3 和 5(相隔 4;索引 0 和索引 4),其面积为 12 (3 * 4)。

关于javascript - 盛水最多的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58887769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com