Java教程

面试题 16.06. 最小差

本文主要是介绍面试题 16.06. 最小差,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/smallest-difference-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

import java.util.Arrays;

class Solution {
    public int smallestDifference(int[] a, int[] b) {
        Arrays.sort(a);
        Arrays.sort(b);
        long ans = Long.MAX_VALUE;
        int p1 = 0, p2 = 0;
        while (p1 < a.length && p2 < b.length) {
            ans = Math.min(ans, Math.abs(1L * a[p1] - b[p2]));
            if (a[p1] < b[p2]) {
                p1++;
            } else {
                p2++;
            }
        }
        return (int) ans;
    }
}
这篇关于面试题 16.06. 最小差的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!