You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将数组拆分为固定n个动态大小块并获取所有组合的实现问题

数组拆分为指定数量块的全组合实现问题

我现在碰到一个数组处理的问题:给定一个数组(比如var a = [1,2,3]),需要把它拆分成恰好n个块,并且要获取所有可能的拆分组合。举个例子,当n=2的时候,应该返回所有符合要求的组合:

  • [1] 和 [2,3],或者反过来 [2,3] 和 [1]
  • [2] 和 [1,3],或者反过来 [1,3] 和 [2]
  • [3] 和 [1,2],或者反过来 [1,2] 和 [3]

我自己试着写了一段代码,但运行下来没法获取到全部的组合,代码如下(没写完的部分是我卡住的地方):

function go(array, n) {
  function iter(left, right) {
    var i, l = left.length - n + right.length + 1;
    if (right.length + 1 == 
    // 这里逻辑没写完,不知道怎么继续了
  }
}

内容的提问来源于stack exchange,提问作者sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:15:09