二维数组 - 查表

发布于 2024-12-27 10:21:42 字数 316 浏览 1 评论 0原文

我正在为机器人在房间的地板上移动编写代码(认为地板的中心是原点(0,0))。机器人可以向任意方向(南、东、西、北)移动,接触地板上的不同顶点。我想知道它触及了多少个独特的顶点。 为此,我使用动态二维数组来记录每个存储的顶点触摸。所以,像这样的逻辑......如果机器人触摸一个顶点,则将在数组中检查该顶点。如果存在,我不会增加计数器。最后,我将触及机器人的所有独特顶点。

是否有其他更好的方法来查找独特的顶点机器人接触。

谢谢。

我正在用 C# 编写代码。地板尺寸 x 轴(-1,00,000 至 1,00,000),y 轴(-1,00,000 至 1,00,000)

I am writing code for Robot moving on a floor in the room ( considered center of the floor is origin (0,0)). Robot can move in any direction(south, east, west, north), touching different vertices in the floor. I would like to know how many unique vertices it touched.
For this, I am using a dynamic 2D array which records each stores vertex touches. So, the logic like this...if robot touches a vertex, that vertex will be checked in the array. If it is there, I do not increment my counter. At the end, I will get all unique vertices robot touched.

Is there any other better approach to find unique vertices robot touches.

Thanks.

I am writing code in C#. Size of the floor x-axis(-1,00,000 to 1,00,000), y-axis(-1,00,000 to 1,00,000)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔戏命师 2025-01-03 10:21:42

这取决于地板的尺寸。如果它很小,那么您的方法可能是最好的。或者,如果地板尺寸太大以至于在内存中保存完整的映射是不切实际的,那么可以使用关联数组(或 C# 中的任何等效项),以顶点坐标作为键,并使用一个简单的布尔值作为value,只会记录实际访问过的顶点。

It depends on the size of the floor. If it is small, then your approach is probably the best. Alternatively, if the floor size is so large that it is impractical to keep a complete map of it in memory, then rather use an associative array (or whatever the equivalent is in C#) with vertex coords as keys, and a simple boolean as the value, which will only record the vertices actually visited.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文