场景是 int[] a ={1,2,3,4}
int[] b = {2,4}
int[] c = {1,3}
int[] d = {2}
有四个数组,每个数组只留一个唯一的元素,就数组之间的元素不能相同,求大神帮忙解决,或者提示有什么算法可以解决?
我觉得可以用回溯法,第一个数组留下第一个元素,第二个数组留下第一个和前面留下的不一样的数,然后再判断第三个数组......直到某个数组无论留哪个都不行,那么再返回他的前一个,重新分配前一个数组的留下元素。另外,元素少的数组排前面先判断比较合适。
先找个长度最短的数组(d),然后看其他哪个数组有,去掉第一个数组里边那个值,然后再找最短的数组,以此类推
哇,思路应该是这样了