package exam; /* *给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n * 分别表示 nums1 和 nums2 中的元素数目 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 * */ import java.util.Arrays; public class Ls071201 { public static void main(String[] args) { int[] a = {1, 3, 5, 6, 0, 0, 0}; int m = 4; int[] b = {7, 8, 9}; int n = 3; merge(a, m, b, n); System.out.println("合并之后的数组" + Arrays.toString(a)); } public static void merge(int[] a, int m, int[] b, int n) { int p1 = m - 1; int p2 = n - 1; int p = m + n - 1; while (p1 >= 0 && p2 >= 0) { if (a[p1] > b[p2]) { a[p] = a[p1]; p1--; } else { a[p] = b[p2]; p2--; } p--; } while (p2>=0){ b[p2]=a[p]; p--; p2--; } } }
Java实现2个递增数组合并排序(刷题)
最新推荐文章于 2024-08-10 16:13:20 发布