Duplicate Pair

    xiaoxiao2021-03-25  65

    Time Limit: 1000 mSec Memory Limit : 65536 KB

    Problem Description An array of length n, with address from 1 to n inclusive, contains entries from the set {1,2,…,n-1} and there’s exactly two elements with the same value. Your task is to find out the value.

    Input Input contains several cases. Each case includes a number n (n>1&&n<=10^6), which is followed by n integers. The input is ended up with the end of file.

    Output Your must output the value for each case, one per line.

    Sample Input 2 1 1 4 1 2 3 2

    Sample Output 1 2

    #include"stdio.h" #include"string.h" int main() { int n; const int maxn=1e6; int ai[maxn+7]; int bi[maxn+7]; while(scanf("%d",&n)==1) { memset(bi,0,sizeof(bi)); for(int i=0;i<n;i++) { scanf("%d",&ai[i]); bi[ai[i]]++; } for(int i=1;i<n;i++) { if(bi[i]==2) { printf("%d\n",i); break; } } } return 0; }

    题意: 输入n个数 这n个数包括1到n-1 所以必然有一个数出现两次 找出这个数

    转载请注明原文地址: https://ju.6miu.com/read-33696.html

    最新回复(0)