例如:
数组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;//最小绝对值