2 条题解

  • 3
    @ 2024-7-26 14:09:36
    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    int n,t,m,mid;
    int a[100005],b[100005];
    int main()
    {
        cin>>n>>m;
        for(int i=1;i<=n;i++)
            cin>>a[i];
        for(int i=1;i<=m;i++)
            cin>>b[i];
        int k=1;
        sort(b+1,b+1+m);
        for(int i=1;i<=n;i++)//本应该是二维数组查找,但数据太大了,所以用二分
        {
            int l=1;
            int h=m;
            while(l<=h)
            {
                mid=(l+h)/2;
                if(b[mid]==a[i]) {cout<<a[i]<<' ';break;}
                else if(b[mid]>a[i]) h=mid-1;
                else if(b[mid]<a[i]) l=mid+1;
                else break;
            }
        }
        return 0;
    }
    
    • 1
      @ 2024-7-21 11:54:14
      
      

      #include<bits/stdc++.h> using namespace std; const int maxn=1e9; int a[maxn]; int b[maxn]; int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>>b[i]; } for(int k=1;k<=n;k++){ for(int j=1;j<=m;j++){ if(a[k]==b[j]){ cout<<a[k]<<" "; } } } return 0; } //不知道为什么超时

      • 1

      信息

      ID
      2206
      时间
      1000ms
      内存
      125MiB
      难度
      4
      标签
      递交数
      144
      已通过
      69
      上传者