arrays - 如何交换数组中的两个特定元素
问题描述
我需要编写一个 Java 方法 int[] easyAs123(int[] nums),它接受一个整数数组并返回一个数组,该数组包含与给定数组完全相同的数字,但重新排列,以便每个 1 和 2 紧随其后a 3、按出现的顺序,如下面的测试用例。
具体来说,
- 在输入数组中,每个 1 后面总是紧跟一个 2。
- 然而,即使每个 2 后面紧跟一个数字,也不是每个 2 后面紧跟一个 3。
- 不要移动 1 和 2,但每隔一个数字可以移动以与 3 交换位置。
- 输入数组包含相同数量的 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]
解决方案
推荐阅读
- sql - 从多个属性选择的 XML 中读取
- gunicorn - 为什么 gunicorn 在旋转日志文件时不将日志写入重新打开的文件?
- java - 来自 findbugs-sec-plugin 的误报 Spring LDAP
- google-sheets - 谷歌表格 - 将某些列转换为行
- javascript - HTML onclick JavaScript 函数调用,在参数列表后得到 SyntaxError: missing )
- c# - System.FormatException:反序列化 xml 时输入字符串的格式不正确
- algorithm - 查找图的最大连通分量的大小
- redis - Redis 每秒创建新连接并丢弃旧连接
- visual-studio-code - 为什么 vs code 在我的文件搜索前加上哈希?IE '#'
- python - 为什么(Kraken)模块在我的项目中不起作用?