这个问题只是要求在R中实现以下问题:查找一组字符串中的最长公共起始子串(JavaScript)。
"这个问题是最长公共子串问题的一个更具体的案例。我只需要在数组中找到最长的公共起始子串。"
因此,我只是在寻找此问题的R实现(最好不要使用JavaScript版本中建议的for / while循环方式),如果可能,我想将其封装为一个函数,以便我可以在数据表中应用于许多组。
经过一些搜索,我无法找到此问题的R示例,因此提出了这个问题。
示例数据: 我有以下字符向量:
我希望您能在R中运行一个算法,该算法将找到以下输出:
从我在JavaScript答案中看到的内容,想法是首先对向量进行排序,提取第一个和最后一个元素(例如:
如果您能提供任何帮助,那就太好了!
"这个问题是最长公共子串问题的一个更具体的案例。我只需要在数组中找到最长的公共起始子串。"
因此,我只是在寻找此问题的R实现(最好不要使用JavaScript版本中建议的for / while循环方式),如果可能,我想将其封装为一个函数,以便我可以在数据表中应用于许多组。
经过一些搜索,我无法找到此问题的R示例,因此提出了这个问题。
示例数据: 我有以下字符向量:
dput(data)
c("ADA4417-3ARMZ-R7", "ADA4430-1YKSZ-R2", "ADA4430-1YKSZ-R7",
"ADA4431-1YCPZ-R2", "ADA4432-1BCPZ-R7", "ADA4432-1BRJZ-R2")
我希望您能在R中运行一个算法,该算法将找到以下输出:
ADA44
。从我在JavaScript答案中看到的内容,想法是首先对向量进行排序,提取第一个和最后一个元素(例如:
"ADA4417-3ARMZ-R7"
和"ADA4432-1BRJZ-R2"
),将它们分解为单个字符,并循环遍历它们,直到其中一个字符不匹配(希望我的理解是正确的)。如果您能提供任何帮助,那就太好了!
der_com <- match(FALSE, do.call("==", d_x)) - 1
的第三行,使其更加优雅高效。 - nicola