网站开发英文怎么说,开发手机app软件公司,代理小程序加盟,电脑做h5的软件有哪些文章目录 一、题目二、C# 题解 一、题目 给定两个整数数组 a 和 b#xff0c;计算具有最小差绝对值的一对数值#xff08;每个数组中取一个值#xff09;#xff0c;并返回该对数值的差
示例#xff1a; 输入#xff1a;{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出计算具有最小差绝对值的一对数值每个数组中取一个值并返回该对数值的差
示例 输入{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出3即数值对(11, 8) 提示
1 a.length, b.length 100000-2147483648 a[i], b[i] 2147483647正确结果在区间 [0, 2147483647] 内 点击此处跳转题目。
二、C# 题解 将两个数组排序依次比较最临近的两个数的差值。每次取较小的那个数前进一位。如果两个数相等则直接返回 0因为没有比 0 更小的结果了。
public class Solution {public int SmallestDifference(int[] a, int[] b) {Array.Sort(a);Array.Sort(b);int pa 0, pb 0;long ans Int32.MaxValue;while (pa a.Length pb b.Length) {if (a[pa] b[pb]) return 0;ans Math.Min(Math.Abs((long)(a[pa] - b[pb])), ans);if (a[pa] b[pb]) pa;else pb;}return (int) ans;}
}时间148 ms击败 100.00% 使用 C# 的用户内存4.38 MB击败 60.00% 使用 C# 的用户