If I have two arrays like below: ``` A: [a, b, c] B: [b, c, a] ``` the diff result will be: ``` [ (source:1, target:0), (source:2,target:1) ] ``` In fact, we just need 1 move: ``` (source:0, target 2) ``` Is this algorithm not able to get best diff results?