Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何创建方法来完成此工作?_Arrays - Fatal编程技术网

Arrays 如何创建方法来完成此工作?

Arrays 如何创建方法来完成此工作?,arrays,Arrays,我希望创建一个方法,返回一个数组,该数组包含与给定数组完全相同的数字,但要重新排列,以便每3后面紧跟一个4 不要移动3,但每隔一个数字可能移动一次。数组包含相同数量的3和4,每个3后面都有一个不是3或4的数字,数组中的3出现在任何4之前 例如: problem({1, 3, 1, 4, 4, 3, 1}) → {1, 3, 4, 1, 1, 3, 4} problem({3, 2, 2, 4}) → {3, 4, 2, 2} 谢谢。设置i=0,j=0。然后重复以下步骤: 在索引中查找前3个≥

我希望创建一个方法,返回一个数组,该数组包含与给定数组完全相同的数字,但要重新排列,以便每3后面紧跟一个4

不要移动3,但每隔一个数字可能移动一次。数组包含相同数量的3和4,每个3后面都有一个不是3或4的数字,数组中的3出现在任何4之前

例如:

problem({1, 3, 1, 4, 4, 3, 1}) → {1, 3, 4, 1, 1, 3, 4}
problem({3, 2, 2, 4}) → {3, 4, 2, 2}

谢谢。

设置i=0,j=0。然后重复以下步骤:

在索引中查找前3个≥ i后面没有4。如果没有找到,则表示您成功。如果3是数组中的最后一个数字或后跟3,则失败。现在在索引中找到前4个≥ 前面没有3的j。如果没有找到,你就失败了。否则,设置i=3的位置,j=4的位置,交换位置i+1和j处的对象,设置i=i+2和j=j+1,然后重复


我不喜欢编写依赖于关于数据的承诺的代码,而这些承诺是我自己无法验证的,所以无论数组中有什么东西,这都可以工作

您是否有特定的编程语言?例如,
php
中有各种数组排序函数,这是家庭作业吗?