我有對象的列表: 例如A, A, B, C, D, E, E
算法列表中的檢測和替換組
而且我定義的模板,告訴對象類型如何可以分組 例如
Group Alpha --> A 1..n --> any number of 'A's can be grouped
Group Charlie --> Sequences of 'BCD' can be grouped
Group Epsilon --> E 1..n --> any number of 'E's can be grouped
現在我想申請原來的名單,這應該給結果對這些組定義:
Group Alpha (2x'A'), Group Charlie (1x'BCD'), Group Epsilon (2x'E')
這又如何能最好地實現?我的問題是否有已知的搜索算法/模式? 我已經嘗試了一個非常基本的方式在列表中循環多次,並試圖從每個列表條目和匹配模式向前看,但由於複雜性而完全丟失了...
在此先感謝您的任何提示! !
謝謝!我真的很喜歡你的答案,因爲使用了擴展方法和LINQ,這使得一個相當複雜的事情很容易理解和理解。我複製/粘貼你的代碼做了一些修改/擴展,它的作品就像一個魅力,再次感謝! – SvenG