擅长:python、mysql、java
<p>如果只需要边界框,这很简单:</p>
<pre><code>min_x = MAX_INT;
min_y = MAX_INT;
max_x = MIN_INT;
max_y = MIN_INT;
for p in points:
if p.x < min_x then min_x = p.x;
if p.y < min_y then min_y = p.y;
if p.x > max_x then max_x = p.x;
if p.y > max_y then max_y = p.x;
</code></pre>
<p>如果在你的平台上没有简单的MAX_INT和MIN_INT等价物,只需从列表中选择第一个。它可能不是那么“漂亮”的代码,但它也可能以一个无意义的数量更快。在</p>
<p>当然,如果您的数据是以某种有意义的方式排序的,那么您可能可以做一些比迭代超过60k个项目并执行240k个比较更聪明的事情。(请记住,仅仅为了这一点而以某种重要的方式订购6万个积分可能不会为自己带来回报。)</p>