题解 | #整型数组合并#

整型数组合并

http://www.nowcoder.com/practice/c4f11ea2c886429faf91decfaf6a310b

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        
        int m=sc.nextInt();
        int[] arr1=new int[m];
        for(int i=0;i<m;i++){
            arr1[i]=sc.nextInt();
        }
        Arrays.sort(arr1);
        
        int n=sc.nextInt();
        int[] arr2=new int[n];
        for(int i=0;i<n;i++){
            arr2[i]=sc.nextInt();
        }
        Arrays.sort(arr2);
        
        Integer[] res=solver(arr1,arr2,m,n);
        int pre=res[0];
        System.out.print(res[0]);
        for(int i=1;i<res.length;i++){
            if(res[i]!=pre){
                System.out.print(res[i]);
                pre=res[i];
            }
        }
    }
        
    public static Integer[] solver(int[] a1,int[] a2,int m,int n){
        int i=0,j=0;
        
        List<Integer> list=new ArrayList<>();
        while(i<m&&j<n){
            if(a1[i]<=a2[j]){
                list.add(a1[i]);
                i++;
            }else {
                list.add(a2[j]);
                j++;
            }
        }
        if(i==m){
            for(int k=j;k<n;k++){
                list.add(a2[k]);
            }
        }
        else if(j==n){
            for(int k=i;k<m;k++){
                list.add(a1[k]);
            }
        }
        return list.toArray(new Integer[0]);
    }
}

全部评论

相关推荐

10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务