测试岗位面试题更新 2026-08-05

请实现一个程序,将一副扑克牌(52张)随机打乱。要求说明算法、时间复杂度,并保证每种排列出现的概率尽可能均等。

盒马测试消费品/零售编码实现技术原理

考察说明

考察Fisher-Yates洗牌算法及其正确性、均匀性和时间复杂度分析

回答思路

  1. 能够描述Fisher-Yates算法的具体步骤
  2. 正确实现随机数生成,并注意边界条件
  3. 分析时间复杂度为O(n),空间复杂度为O(1)或O(n)
  4. 讨论如何保证均匀随机性,避免错误洗牌算法(如:每次随机交换次数不当)
本题已收录答题指导

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

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