在 C++ 中遵守给定约束条件来寻找重复项
假设我们有一个包含 6 个不同数字的列表。其中只有一个数字重复了五次。因此,数组中共有 10 个元素。只使用两次比较来查找重复数字。如果列表如下 [1, 2, 3, 4, 4, 4, 4, 4, 5, 6],则输出为 4。
由于只有 10 个数字,因此对于任何类型的重复数字,数字的范围将从索引 3 到 5。通过检查这些索引,我们可以找出结果。
实例
#include<iostream> using namespace std; int getDuplicate(int array[]) { if (array[3] == array[4]) return array[3]; else if (array[4] == array[5]) return array[4]; else return array[5]; } int main() { int a[] = {1, 2, 3, 4, 4, 4, 4, 4, 5, 6}; cout << "Duplicate element: " << getDuplicate(a); }
输出
Duplicate element: 4
广告