首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查看得最远的建筑物

检查看得最远的建筑物
EN

Stack Overflow用户
提问于 2017-05-11 03:58:13
回答 1查看 48关注 0票数 0

我正在尝试用汇编语言编写一个程序,它接受x和y坐标,x将作为建筑物的位置,y将作为其高度。现在我应该检查一下看得最远的那栋楼。

例如:

正如您在示例中看到的,位置8的建筑物看到的是4米,位置7的建筑物看到的是2米,位置9的建筑物看到的是9米,这是最远的距离,所以我现在要做的就是打印9看到9米,这是最远的距离。我似乎想不出一个算法来做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2017-05-11 04:03:08

从最后到第一,同时跟踪到到目前为止最高的建筑及其位置,以及“目前最好的解决方案”

当你遇到一座新建筑时:

  • 如果它不高于当前的最大值-它永远不会看到超过当前的最大值(因为当前的最大值可以看到更远的地方)。
  • 如果它高于当前的最大值-新建筑和以前的最高建筑之间的间隔是“最佳”的候选者,如果它比目前最好的解决方案更好。

当你开始的时候,给出最好的解决方案。

示例(基于您的示例):

代码语言:javascript
运行
复制
10: highest is 10, so far best is null
9: found new highest, so far best is 10 with distance 1.
8: no new highest, 10 is best.
7: no new highest
...
0: update "best", 9 is the new best with distance of 9.

Yield: 9 as seeing furthest.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43901698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档