gpt4 book ai didi

arrays - 如何将数组拆分为 n 个相等或接近相等的数组?

转载 作者:行者123 更新时间:2023-12-05 09:21:05 26 4
gpt4 key购买 nike

我有一个大数组,我想将其平均分成 n 个数组。

  • 我有一个包含 100 个元素的数组。我想把它平均分成 4 个数组。这将为我提供 4 个数组,每个数组包含 25 个元素。
  • 我有一个包含 100 个元素的数组。我想把它平均分成 3 个数组。由于我不能将它均匀地分成子数组,所以我想要类似 2 个 33 个元素的数组和一个 34 个元素的数组。
  • 我有一个包含 2 个元素的数组。我想把它平均分成 4 个数组。由于我无法将其平均拆分并且某些数组将为空,因此我想要类似 2 个包含 1 个元素的数组和 2 个空数组的东西。

我尝试使用 each_slice ,但这只会根据传递给它的数字参数将数组切成小部分。

我该怎么做?

最佳答案

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a.group_by.with_index{|_, i| i % 2}.values
# => [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]

a.group_by.with_index{|_, i| i % 3}.values
# => [[1, 4, 7, 10], [2, 5, 8], [3, 6, 9]]

a.group_by.with_index{|_, i| i % 4}.values
# => [[1, 5, 9], [2, 6, 10], [3, 7], [4, 8]]

a.group_by.with_index{|_, i| i % 5}.values
# => [[1, 6], [2, 7], [3, 8], [4, 9], [5, 10]]

a.group_by.with_index{|_, i| i % 6}.values
# => [[1, 7], [2, 8], [3, 9], [4, 10], [5], [6]]

关于arrays - 如何将数组拆分为 n 个相等或接近相等的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34620044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com