在while循环中处理不断增加的计算量

时间:2019-04-01 20:08:37

标签: python loops

我正在尝试用Python编写一个简单的程序来解决以下问题:假设您要计算直角坐标平面上放置的n个重叠矩形所覆盖的总面积。在单行中(作为每个矩形的一行包含x轴的两个点和y轴的两个点)为您提供了它们的坐标作为输入。例如:

1 3 1 3

2 4 2 4

这些将描述两个均为2x2的矩形,并且它们覆盖的总面积为7,因为每个矩形的面积为4个单位,总计1等于它们的交集。因此,8-1 = 7,即所得面积。在这种情况下,我的代码将必须给出一个数字作为输出:

7

我不太清楚如何对n个矩形执行此操作。由于将有n行输入,因此我会进行while循环。但是,问题是,如果我们要检查所有可能的交点,则必须将每个新矩形与所有先前的矩形进行比较。例如,对于4或5个矩形,这不是什么大问题。但是对于70或更多?听起来这是一种非常幼稚的方法,但是我想不出什么。

因此,除了检查所有内容之外,还有没有更好的方法来解决此问题?而且,如果我必须检查所有内容,那么最有效的方法是什么?

0 个答案:

没有答案