1 条题解

  • 0
    @ 2025-10-10 15:48:08

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int m,n,t,f;
    	cin>>m>>n;
    	int a[m],b[n],c[m+n],x,k=0;
    	for(int i=0;i<m;i++){
    		cin>>x;
    		a[i] = x;
    		c[k] = x;
    		k++;
    	}
    	for(int i=0;i<n;i++){
    		cin>>x;
    		b[i] = x;
    		c[k] = x;
    		k++;
    	} 
    	//原数组排序 
    	sort(a,a+m);
    	sort(b,b+n);
    	sort(c,c+m+n); 
    	//输出c数组 从小到大 不能重复
    	for(int i=0;i<m+n;i++){
    		f = 0;//假设往前看没有
    		for(int j=0;j<i;j++){
    			if(c[i]==c[j]){
    				f = 1;
    				break;
    			}	
    		} 
    		if(f==0){
    			cout<<c[i]<<" ";
    		}
    	}
    	cout<<endl;
    	for(int i=0;i<m;i++){
    		t = a[i];
    		f = 0;//假设找不到 
    		for(int j=0;j<n;j++){
    			if(a[i]==b[j]){
    				f = 1;
    				break;
    			}
    		}
    		if(f==1){
    			cout<<a[i]<<" ";
    		}
    	}
    	return 0;
    }
    
    

    Java :

    import java.util.Scanner;
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int m = sc.nextInt();
    		int n = sc.nextInt();
    		int[] a = new int[m];
    		int[] b = new int[n];
    		int[] c = new int[m + n];
    		int[] d = new int[m+n];
    		int index = 0;
    		for (int i = 0; i < m; i++) {
    			a[i] = sc.nextInt();
    			c[index++] = a[i];
    		}
    		for (int i = 0; i < n; i++) {
    			b[i] = sc.nextInt();
    			c[index++] = b[i];
    		}
    		int t = 0;
    		for (int i = 1; i <= n + m - 1; i++) {
    			for (int j = 0; j <= n + m - i - 1; j++) {
    				if (c[j] > c[j + 1]) {
    					t = c[j];
    					c[j] = c[j + 1];
    					c[j + 1] = t;
    				}
    
    			}
    		}
    		
    //		for(int i = 0;i < n + m;i++){
    //			System.out.print(c[i] + " ");
    //		}
    //		System.out.println();
    		
    		//求并集
    		for(int i = 0 ; i < m+n ; i++)
    		{
    			d[i] = c[i];
    		}
    		int k = m+n;
    		for(int i = 0 ; i < k-1 ; i++ )
    		{
    			if(d[i] == d[i+1])
    			{
    				for(int j = i ; j < k-1 ; j++) {
    					d[j] = d[j+1];	
    				}
    			    k--;  
    			}
    		}
    		for(int i = 0 ; i < k ;i++)
    		{
    			System.out.print(d[i]+" ");
    		}
    		//求交集
    		System.out.println();
    		for(int i = 0 ; i < m+n-1 ; i++)
    		{
    			if(c[i] == c[i+1])
    				System.out.print(c[i]+" ");
    		}	
    	}
    }
    

    Python :

    n,k=map(int,input().split())
    l1=list(map(int,input().split()))
    l2=list(map(int,input().split()))
    s1=set(l1)
    s2=set(l2)
    l3 = list(s1.union(s2))
    l3.sort();
    for j in (l3):
        print(j,end=' ')
    print()
    l4 = list(s1.intersection(s2))
    l4.sort();
    for i in (l4):
        print(i,end=' ')
    
    • 1

    信息

    ID
    451
    时间
    1000ms
    内存
    64MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者