c_cpp 找到在排序数组中出现一次的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 找到在排序数组中出现一次的元素相关的知识,希望对你有一定的参考价值。

// https://www.geeksforgeeks.org/find-the-element-that-appears-once-in-a-sorted-array/
#include <iostream>
using namespace std;

void binary (int a[], int l, int r) {
    if (l <= r){
        if (l==r){
            cout << "The element is: "<< a[l];
            return;
        }
        int m= (l+r)/2;
        if (m%2==0){
            if (a[m] == a[m+1])
                binary(a,m+2,r);
            else
                binary(a,l,m);
        }
        else {
            if (a[m] == a[m-1])
                binary(a,m+1,r);
            else
                binary(a,l,m-1);
        }
    }
    return;
}

int main() {
    int n;
    cin>>n;
    if (n%2==0){
        cout<< "No.of elements is even, Not possible!";
        exit(0);
    }
    int a[n];
    for (int i=0;i<n;i++)
        cin>>a[i];
    cout<< "---------------- \n";
    binary(a,0,n-1);
}

以上是关于c_cpp 找到在排序数组中出现一次的元素的主要内容,如果未能解决你的问题,请参考以下文章

剑指 Offer II 070 排序数组中只出现一次的数字

剑指 Offer II 070 排序数组中只出现一次的数字

c_cpp 在一个长字符串中,找到出现不止一次的最长子字符串,也称为最长的重复子字符串。

C语言怎么算 同或,找一个数组中重复出现了一次的元素

c_cpp 一个数组,只有一个数出现了一次,其他数出现三次,求出现一次的数。时间复杂度O(N),空间复杂度O(1)

数组中求出现两次的元素