首页 > 解决方案 > 如何交换数组中的两个特定元素

问题描述

我需要编写一个 Java 方法 int[] easyAs123(int[] nums),它接受一个整数数组并返回一个数组,该数组包含与给定数组完全相同的数字,但重新排列,以便每个 1 和 2 紧随其后a 3、按出现的顺序,如下面的测试用例。

具体来说,

  1. 在输入数组中,每个 1 后面总是紧跟一个 2。
  1. 然而,即使每个 2 后面紧跟一个数字,也不是每个 2 后面紧跟一个 3。
  1. 不要移动 1 和 2,但每隔一个数字可以移动以与 3 交换位置。
  2. 输入数组包含相同数量的 1、2 和 3。

例如:easyAs123([5, 1, 2, 4, 3, 5]) → [5, 1, 2, 3, 4, 5]

easyAs123([1, 2, 9, 8, 3, 5, 3, 7, 1, 2, 6, 4]) → [1, 2, 3, 8, 9, 5, 6, 7, 1, 2, 3、4]

标签: arraysmethods

解决方案


推荐阅读