• ACM_求交集


    求交集

    Time Limit: 2000/1000ms (Java/Others)

    Problem Description:

    输入集合A和B,按大小顺序输出A和B的交集。

    Input:

    输入包含多组测试数据,每组输入两个整数m,n(1<=m,n<=10^2)分别代表集合A,B的元素个数,再输入集合A,B.

    Output:

    按大小顺序输出A和B的交集。

    Sample Input:

    5 7
    80 6 18 44 13  
    18 39 89 88 6 13 44
    

    Sample Output:

    6 13 18 44
    解题思路:先对数组a和数组b按从小到大排序,然后遍历两个数组看是否有相等的元素,有的话赋值给c数组,最后统一输出,水过!!!
    AC代码:
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int a[105],b[105],c[105];
     4 int main()
     5 {
     6     int n,m,p,q,k;
     7     while(cin>>m>>n){
     8         for(int i=0;i<m;++i)cin>>a[i];
     9         for(int i=0;i<n;++i)cin>>b[i];
    10         sort(a,a+m);sort(b,b+n);
    11         p=q=k=0;
    12         while(p<m && q<n){
    13             if(a[p]==b[q]){c[k++]=a[p];p++;q++;}
    14             else if(a[p]<b[q])p++;
    15             else q++;
    16         }
    17         for(int i=0;i<k-1;++i)cout<<c[i]<<' ';
    18         cout<<c[k-1]<<endl;
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    37.1 net-- udp传输
    37 net 网络编程
    review
    java day02 记录
    36.2 线程生命周期
    36.1 线程锁
    36 Thread 多线程
    35 编码 ASCII Unicode UTF-8 ,字符串的编码、io流的编码
    34.6 Properties(k,v存储) 和io流结合使用
    今日学习总结
  • 原文地址:https://www.cnblogs.com/acgoto/p/9031985.html
Copyright © 2020-2023  润新知