C# 将一个对象列表转换为另一个列表

C# 将一个对象列表转换为另一个列表,c#,algorithm,list,sorting,edit-distance,C#,Algorithm,List,Sorting,Edit Distance,这是一个理论问题,所以我将使用伪代码 我有一个需要转换为另一个列表的对象列表 我实现了Levenshtein算法,效果很好,但我需要保留对象,而不是创建新对象。我可以用蛮力,但我宁愿找一个非O(n*m)的方法来做这件事 [obj1,obj2,obj3]->[obj1,obj4,obj5,obj2,obj6,obj3] obj1、obj2、obj3必须是同一个对象,其余的都是新创建的对象 有人知道这方面的好算法吗?您可以使用模式,要做到这一点,您需要在缓存中维护创建的对象。java中的字符串就是这

这是一个理论问题,所以我将使用伪代码

我有一个需要转换为另一个列表的对象列表

我实现了Levenshtein算法,效果很好,但我需要保留对象,而不是创建新对象。我可以用蛮力,但我宁愿找一个非O(n*m)的方法来做这件事

[obj1,obj2,obj3]->[obj1,obj4,obj5,obj2,obj6,obj3]

obj1、obj2、obj3必须是同一个对象,其余的都是新创建的对象


有人知道这方面的好算法吗?

您可以使用模式,要做到这一点,您需要在缓存中维护创建的对象。java中的字符串就是这种模式的一个很好的例子。

这个问题不可能用伪代码回答,因为答案取决于您语言的特性。C++和java的答案将非常不同。中间对象应该是什么样子,它们是编辑距离为1的步骤吗?不,这些对象是复杂的类。所有编辑距离均为1。这些是有序用户内容的小列表。我正在用C#做这个,列表是我们制作的课程的列表。我知道这是如何工作的。我最后只看了一次每个列表。我会实施它,然后回来。谢谢!!:)