后端岗位面试题更新 2026-08-05

给定三个整数数组 A、B、C,分别从中各选一个数 a、b、c,定义 d = |a-b| + |b-c| + |c-a|,求 d 的最小值。

文远知行后端开发人工智能编码实现问题拆解技术原理

考察说明

考察数学推导与双指针或贪心优化能力

回答思路

  1. 正确理解题意:分别从三个数组各取一个数
  2. 推导出 d = 2 * (max(a,b,c) - min(a,b,c)),将问题转化为最小化区间长度
  3. 能提出 O(n log n) 或 O(n) 的解法,如枚举中间值并用双指针/三分
  4. 边界处理:空数组、重复元素、负数
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。