在 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

更新於: 2019 年 11 月 1 日

141 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告