• OpenJudge计算概论-第二个重复出现的数


    /*========================================================================
    第二个重复出现的数
    总时间限制:
        1000ms
    内存限制:
        65536kB
    描述
        给定一个正整数数组(元素的值都大于零),输出数组中第二个重复出现的正整数,如果没有,则输出字符串"NOT EXIST"。
    输入
        第一行为整数m,表示有m组数据。
        其后每组数据分两行:
        第一行为正整数n(3 < n < 500),表示数组的长度;
        第二行是n个正整数,正整数间用空格分开。
    输出
        有m行输出,每行输出对于数组中第二个重复出现的正整数,如果没有,则输出字符串"NOT EXIST"。
    样例输入
        5
        10
        1 3 5 7 9 7 8 5 2 6
        10
        1 3 5 5 7 9 7 8 2 6
        10
        1 3 5 5 7 9 4 8 2 6
        10
        1 3 5 7 2 9 9 8 7 5
        10
        1 3 5 2 7 9 9 8 7 5
    样例输出
        7
        7
        NOT EXIST
        7
        7
    ==========================================================================*/
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int m,n,a[505],i,j,flag;
     5     freopen("3.in","r",stdin);
     6     scanf("%d",&m);
     7     while(m>0)
     8     {
     9         scanf("%d",&n);
    10         for(i=0;i<n;i++)
    11         {
    12             scanf("%d",&a[i]);
    13         }
    14         flag=0;
    15         for(i=0;i<n-1;i++)
    16         {
    17             for(j=i+1;j<n;j++)
    18             {
    19                 if(a[j]==a[i])
    20                 {
    21                     flag++;
    22                     break;
    23                 }
    24             }
    25             if(flag==2)
    26             {
    27                 printf("%d
    ",a[i]);
    28                 break;
    29             }
    30         }
    31         if(flag!=2) printf("NOT EXIST
    ");
    32         m--;
    33     }
    34     return 0;
    35 }

    这个题用两重循环扫描数组即可,时间复杂度是n2级别。

  • 相关阅读:
    2018.8.5 复习笔记
    C#抽象类与接口的区别【转】
    double转整数问题
    C++学习笔记
    BCG使用
    C++设计模式之工厂方法模式
    静态成员函数
    CTreeCtrl 控件使用总结
    WinAPI: ShellExecute
    C++ STL map使用
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/3464506.html
Copyright © 2020-2023  润新知