2D数组 - 查找表

时间:2012-01-17 09:53:56

标签: visual-studio-2010 c#-4.0 state

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

还有其他更好的方法可以找到机器人触摸的独特顶点。

感谢。

我在C#中编写代码。地板x轴(-1,00,000至1,00,000),y轴(-1,00,000至1,00,000)的大小

1 个答案:

答案 0 :(得分:1)

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