这是我不久前遇到的一个有趣的问题,但在解决它时遇到了一些麻烦。
有一个大小为N的未排序整数数组存储有数字1,2..,N+M ,其中缺少M个整数。M和N是事先已知的。编写一个算法以最有效的方式找到丢失的M个整数。
曾尝试将其映射到大小为N + M的数组,以便第i个索引包含值为i的元素,但这需要 2 次扫描(1 次用于映射,1 次用于查找M缺失的数字)。
我遇到的这本书提到了一个单一的扫描解决方案是可能的,但我无法达到它。关于如何解决这个问题的任何想法?
这是我不久前遇到的一个有趣的问题,但在解决它时遇到了一些麻烦。
有一个大小为N的未排序整数数组存储有数字1,2..,N+M ,其中缺少M个整数。M和N是事先已知的。编写一个算法以最有效的方式找到丢失的M个整数。
曾尝试将其映射到大小为N + M的数组,以便第i个索引包含值为i的元素,但这需要 2 次扫描(1 次用于映射,1 次用于查找M缺失的数字)。
我遇到的这本书提到了一个单一的扫描解决方案是可能的,但我无法达到它。关于如何解决这个问题的任何想法?