使用补丁集的有序集合中的最新补丁来修补对象的值的算法

时间:2016-08-24 15:25:33

标签: algorithm data-structures graph

我有以下问题 一开始我有一个"对象",基本上是一个字符串到值的字典。即这不是一个.net对象,它的构造类似于javascript对象。

然后我有一个有序的补丁集合(每个补丁集都有一个" rank")。每个补丁集都是一组补丁。每个补丁都会覆盖"对象"中的单个字段的值。或该领域的任何更高级别的补丁。第一个补丁集中的补丁将覆盖字段的值。如果下一个补丁集包含引用相同字段的补丁,则会再次覆盖该补丁等。 我的目标是获取对象并仅使用最新的补丁覆盖其字段。

e.g。给定像{price:35,qty:10}和补丁集的对象:

  1. [{price:40}]
  2. [{数量:15},{价格:20}]
  3. 最后我应该得到{price:20,qty:15}

    我确信这是一个算法,但我被卡住了。欢迎任何建议

1 个答案:

答案 0 :(得分:1)

从最终到前面迭代集合并跟踪已经“修补”的字段(例如使用Set),只设置之前未设置的字段。如果计算设置字段的数量,并且只要该计数等于原始对象中的字段数,就可以进一步优化。