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

给定一个只包含0、1、2三种元素的数组,请原地排序,使所有0排在1前,所有1排在2前。要求不使用语言内置的排序函数,并说明思路。

同程旅行后端开发消费品/零售编码实现技术原理

考察说明

考察原地分区排序的算法设计与实现能力

回答思路

  1. 提出O(n)单趟扫描的三指针分区解法
  2. 正确维护low、mid、high三个指针的循环不变量
  3. 处理等于0、1、2三种情况的指针移动逻辑
  4. 分析时间复杂度和空间复杂度
  5. 代码实现正确且无死循环
本题已收录答题指导

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

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