logo

方法二:在 O(1) 额外空间下,如何用“原地哈希/置换”找出缺失的两个数?核心步骤是什么?

Method 2: With O(1) extra space, how can you use in-place hashing / cyclic placement to find the two missing numbers? What are the key steps?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: Algorithms

标签: in-place hashing, cyclic sort, swap

参考答案摘要

答案 思路:把每个值 v 放到它应该在的位置(常见映射:索引 i 对应值 i+1)。完成后扫描数组,没对上的位置就是缺失值。 因为 nums 长度是 N-2,可先在数组尾部追加两个占位(如 -1),让长度变为 N,避免越界并能覆盖 1..N 的位置。 循环 i=0..N-1:当 nums[i] 在 1..N 且 nums[i] != nums[nums[i]-1] 时,swap(nums[i], ...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

方法二:在 O(1) 额外空间下,如何用“原地哈希/置换”找出缺失的两个数?核心步骤是什么?

Mediumalgorithmsarray

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案