检查一个路径序列是否访问了任何坐标两次或更多次

2023年 8月 27日 85.8k 0

检查一个路径序列是否访问了任何坐标两次或更多次

在某些应用程序中,我们可能有兴趣检查路径序列是否访问任何坐标两次。例如,这在 GPS 跟踪系统中非常有用,可以检测车辆是否在两点之间来回移动。在本文中,我们将讨论如何检查路径序列是否访问任意坐标两次,及其在 C++ 中的实现。

算法

为了解决这个问题,我们可以使用哈希表来跟踪迄今为止访问过的所有坐标。我们首先访问序列中的第一个坐标,并将其添加到哈希表中。然后,对于序列中的每个后续坐标,我们检查它是否已经在哈希表中。如果是,我们就知道我们之前访问过这个坐标,我们可以返回 true。如果不是,我们将其添加到哈希表中并继续下一个坐标。如果我们访问了所有坐标而没有找到任何重复项,我们可以返回 false。

示例

这是上述算法在 C++ 中的实现−

#include
using namespace std;

bool isVisitedTwice(int n, int path[][2]) {
set visited;
for(int i=0;i

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论