两个数组,遍历其中一个数组,用这个数组中的数减去另一个数组中与这个数相减绝对值最小的数,将记录保留

例如:
数组A=[10,20,30,40]
数组B=[12,25,30,55]
此时循环B数组中的数 用B[0]=12 减去A数组中与12相减绝对值最小的数 10(A数组中与12相减绝对值最小的数为10)
此时将相减的结果和两数进行记录C[0]=['A'=>10,'B'=>12,'rest'=>2]
这时A=[20,30,40] B=[2,25,30,55]
之后继续从B的2开始一直循环到A或者B中没有数据为止 返回数组C

卡在了循环求C数组了 期望有大神能够指导一下
用的是php语言

关了关了。。。。。。。。。。。。。。。。。。。。。。。。。

这个要先排序下然后计算绝对值会比较快,具体的代码就不写了。

如果需要具体的代码,有两个办法,方法1,先采纳本回答。方法2,去
https://ask.csdn.net/questions/759366
https://ask.csdn.net/questions/759361
谴责下这种给出详细回答之后采纳自己回答回收积分的流氓行为。
正是因为流氓的存在,所以没办法让人认真回答了。

    int x;
    int y;
    bool isfirst = true; //第一次进入循环
    for(int i = 0; i < A.Count; i++) {
        for(int j; j < B.Count; j++) {
            x = A[i] - B[j];
            if(x == 0) {
                y = 0; //0肯定最小了,都不用继续算了
                return y;
            }
            x=x < 0 ? -x : x;
            if(isfirst) {
                y = x;
                isfirst = false;
            } else {

                y = x < y ?x : y;
            }
        }
    }
    return y;//最小绝对值