#yyds干货盘点# LeetCode程序员面试金典:最小差

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# LeetCode程序员面试金典:最小差相关的知识,希望对你有一定的参考价值。

题目:

给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差

 

示例:

输入:1, 3, 15, 11, 2, 23, 127, 235, 19, 8

输出:3,即数值对(11, 8)

代码实现:

class Solution 
public int smallestDifference(int[] a, int[] b)
int m = a.length;
int n = b.length;
if (m == 1 && n == 1)
return Math.abs(a[0] - b[0]);

Arrays.sort(a);
Arrays.sort(b);
int i = 0;
int j = 0;
long res = Long.MAX_VALUE;
while (i < m && j < n)
if (a[i] == b[j])
return 0;

long dif = a[i] - b[j];
res = Math.min(Math.abs(dif), res);
if (dif > 0)
j++;
else
i++;


return (int) res;



以上是关于#yyds干货盘点# LeetCode程序员面试金典:最小差的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点# LeetCode程序员面试金典:连续数列

#yyds干货盘点# LeetCode程序员面试金典:翻转数位

#yyds干货盘点# LeetCode程序员面试金典:回文排列

#yyds干货盘点# LeetCode程序员面试金典:整数转换

#yyds干货盘点# LeetCode程序员面试金典:配对交换

#yyds干货盘点# LeetCode程序员面试金典:最小差