数组A,有一千万个数,数组B同样也有千万多个数,然后从A和B当中随意找一个数字A1和B1,A1-B的绝对值是C,保证C最小。求A1和B1
2017-11-03 10:02
239 查看
$a = [-11, -5, -9, -3, -2, -1]; $b = [-20, -13, -4, 6, 77, 200]; $key = $a[rand(0, count($a) - 1)]; sort($b); echo "\n=====================\n"; print_r($b); echo $key . "\n=====================\n"; if (count($b) > 1) { foreach ($b as $k => $v) { if ($key == $v) { $minAbs = 0; echo "loca:{$k,abs{$minAbs} \n"; exit; } if ($key > $v) { // echo $v."," ; } else { $last = $b[$k - 1]; $next = $b[$k + d4d5 1]; $curr = $b[$k]; echo "\n" . $last, "\t <", $curr, ">\t", $next; $min = min(abs($key - $next), abs($key - $curr), abs($key - $last)); echo "\n min abs:" . $min; exit; } } } else { echo abs($key - $a[0]); }
相关文章推荐
- 在一个非递减数组中找到绝对值最小的数字
- java实现快速排序的分割思想:在快速排序算法中,我们随机在数组中选择一个数字,然后把比选中数字小的数字都排在它前面,比选中数字大的数字都排在它的后面。
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
- 获得一个数组中所有元素进行的全排列,获得其中最小的数字
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数
- 求一个排序数组中绝对值最小的数
- 求一个已排序的数组中绝对值最小的元素
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 有一个整数数组,请求出两两之差绝对值最小的值
- 一道面试题:有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 给定一个数组,找出不在数组中的最小的那个数字
- 把数组中数字连起来组成一个最小的数字
- 求一个数组当中最大(最小)值的两种计算方法
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j
- 给定一个递增排序的数组和一个数字s,求数组中和为s的俩个数。求乘积最小的俩个数