给定两个数组(a,b 只包含 2 个十进制值),我们可以移动。
i+值或i值。其中 value 是该数组中该索引处的元素。
我们只需要遍历每个元素一次即可到达最后一个元素,然后从第一个元素开始。
现在我们如何找出要在 a 和 b 之间交换的值的子集,以便我们可以到达最后一个索引。
例如 a = 112 b = 212 在这里两者都可以到达终点,所以空集也可以。没有任何其他套装可以做到。所以 ans 将是 : {} only。
例如2:a= 2211 b= 1111。这里两个字符串都可以迭代并到达最后一个元素。现在,如果我在 a 和 b 中替换 (1,2) 索引,即现在 a=1111 和 b= 2211 两个字符串仍然可以到达 end 。同样,我们也可以替换 {3},{4},{3,4} 并且我们仍然可以转到两个字符串中的最后一个索引。
现在有算法可以做到这一点吗?我们如何找出这些子集?也许是 dp 解决方案?如果可能的话,如果有人可以指导我完成代码,我将不胜感激。