标签: c# algorithm list sorting edit-distance
这是一个理论问题,所以我将使用伪代码。
我有一个对象列表,我需要将其转换为另一个列表。
我实现了Levenshtein算法,并且工作正常,但我需要保留对象,而不是创建新对象。我可以强制它,但我宁愿找到一个非O(n * m)的方法来做到这一点。
[obj1,obj2,obj3] - > [OBJ1,OBJ4,obj5,OBJ2,obj6,OBJ3]
obj1,obj2,obj3必须是同一个对象,其余的是新创建的对象。
有人知道这个算法很好吗?
答案 0 :(得分:1)
您可以使用模式flyweight来执行此操作,您需要在缓存中维护已创建的对象。 java中的字符串就是这种模式的一个很好的例子。