Algorithm 从数据库中存储的整数列表中查找最近的集合
我希望找到存储在数据库表中的最接近或相同的整数集。 存储的列表长度从0到10不等,元素的顺序很重要 例如:Algorithm 从数据库中存储的整数列表中查找最近的集合,algorithm,sqlite,Algorithm,Sqlite,我希望找到存储在数据库表中的最接近或相同的整数集。 存储的列表长度从0到10不等,元素的顺序很重要 例如: 1:[1234, 2345, 5463, 1235] 2:[2355, 5463, 1235] 3:[123, 1234, 1235, 5463, 3443] 如果我有一个新的集合,如:[12355463],我想找到最近的或匹配的集合。在本例中,3:[123123412355463443] 因为集合存储在数据库中,所以我考虑将列表转换为散列值,然后根据给定集合计算的散列对其进行排序 如果
1:[1234, 2345, 5463, 1235]
2:[2355, 5463, 1235]
3:[123, 1234, 1235, 5463, 3443]
如果我有一个新的集合,如:[12355463]
,我想找到最近的或匹配的集合。在本例中,3:[123123412355463443]
因为集合存储在数据库中,所以我考虑将列表转换为散列值,然后根据给定集合计算的散列对其进行排序
如果我能在第一张唱片中找到最合适的结果,我就没事了
实现这一点的最佳哈希方法是什么
或者还有其他合适的解决方案。假设在nearest中,您的意思是“最长的公共子串”(LCS),那么散列对您没有帮助-您确实需要使用数据库的每个元素(或者至少是前面提到的前几个元素)计算查询的LCS
实现这一点的最佳方法是动态规划。有关详细信息,请参阅。最近,是指具有相同顺序中最相同元素的集合。元素是否必须是连续的(即最近=最长的公共子字符串)?