Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm số bị thiếu trong mảng là bản sao xáo trộn trong C++


Cho mảng A n phần tử, mảng B là A xáo trộn và thiếu một phần tử. Tìm phần tử thiếu. Ví dụ A=[4,8,1,3,7], B=[7,4,3,1] → 8.

Dùng XOR: XOR tất cả phần tử A và B, kết quả là phần tử thiếu vì x XOR x = 0.

Ví dụ

#include<iostream> using namespace std; int FindMissingElement(int A[], int B[], int n) {    int min_element = 0;    for (int i = 0; i < n; i++)    min_element = min_element ^ A[i];    for (int i = 0; i < n - 1; i++)    min_element = min_element ^ B[i];    return min_element; } int main() {    int A[] = {4, 8, 1, 3, 7};    int B[] = {7, 4, 3, 1};    int n = sizeof(A) / sizeof(A[0]);    cout << "Missing element: " << FindMissingElement(A, B, n); }

Kết quả

Missing element: 8