在 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
廣告