合并两个有序数组,并进行排序和去重(Java实现)
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s1 = sc.nextLine(); String s2 = sc.nextLine(); String[] arrs1 = s1.split(" "); String[] arrs2 = s2.split(" "); int[] arr1 = new int[arrs1.length]; int[] arr2 = new int[arrs2.length]; for (int i = 0; i < arrs1.length; i++) { arr1[i] = Integer.valueOf(arrs1[i]); } for (int i = 0; i < arrs2.length; i++) { arr2[i] = Integer.valueOf(arrs2[i]); } test(arr1,arr2); } public static void test(int[] arr1, int[] arr2 ){ int n = arr1.length+arr2.length; int[] arr = new int[n]; for (int i = 0; i < n; i++) { if (i < arr1.length) { arr[i] = arr1[i]; } else { arr[i] = arr2[i-arr1.length]; } } Arrays.sort(arr); List<Integer> list = new ArrayList<>(); for (int i = 0; i < n; i++) { if (!list.contains(arr[i])) { list.add(arr[i]); System.out.print(arr[i]+ " "); } } } }
输入:
1 2 3 4 5 2 4 6
输出:
1 2 3 4 5 6