首页 > 解决方案 > 更低、更低、更高的模式

问题描述

我必须在 Javascript 中制作一个最高、更低、更低、更高的模式。

只有第一个数字是最高的,例如:

最高,更低,更低,更高,更低,更低,更高,更低,更低,更高……

输入:[12,34,56,64,43,123,56,87,13,67]

返回:[123,87,56,67,56,43,64,34,12,13]

阵列可以尽可能长或短。它必须能够考虑重复并在模式中修复它们(重复不能彼此相邻)。

这是我尝试过的:

  1. 对数组进行排序
  2. 获取最大的数字并将其附加到新数组
  3. 获取数组的两个最小数字并追加
  4. 获取数组的最大可用数量并追加
  5. 获取接下来的两个最小数字并追加
  6. 获取下一个最大数并追加

我重复了这个过程,它奏效了。问题是它不能解释重复。

123 13 12 87 43 34 67 56 56 64

是我得到的,但两个 56 是相邻的。

标签: javascriptarrayssortingpattern-matching

解决方案


推荐阅读