Algorithm 我需要帮助创建一个算法,从数字列表中返回可能的数字组列表
我需要开发的搜索算法的一部分包括一个函数,该函数接收一个整数列表,并根据一些规则返回一个整数列表,以下是规范 输入列表可以有任意数量的数字,从最小和最大预定值变化。该函数需要返回所有可能的输入数字组合,这些数字是顺序的,大小为3或更大 输出组的顺序并不重要 例如:Algorithm 我需要帮助创建一个算法,从数字列表中返回可能的数字组列表,algorithm,search,combinations,Algorithm,Search,Combinations,我需要开发的搜索算法的一部分包括一个函数,该函数接收一个整数列表,并根据一些规则返回一个整数列表,以下是规范 输入列表可以有任意数量的数字,从最小和最大预定值变化。该函数需要返回所有可能的输入数字组合,这些数字是顺序的,大小为3或更大 输出组的顺序并不重要 例如: min = 1; max = 10; input = [1, 2, 3, 4, 6, 7, 8] output = [ [1, 2, 3], [2, 3, 4], [1, 2, 3, 4], [6, 7, 8] ] 诀窍在于输入
min = 1;
max = 10;
input = [1, 2, 3, 4, 6, 7, 8]
output = [ [1, 2, 3], [2, 3, 4], [1, 2, 3, 4], [6, 7, 8] ]
诀窍在于输入列表可以接收任意数量的小丑角色。这些小丑可以假设最小值和最大值范围内的任何值
使用小丑的示例:
min = 1;
max = 10;
input = [1, 2, 3, 4, 6, 7, 8, J]
output = [
[1, 2, 3],
[2, 3, 4],
[1, 2, 3, 4],
[6, 7, 8],
[1, 2, 3, 4, J, 6, 7, 8],
[2, 3, 4, J, 6, 7, 8],
[3, 4, J, 6, 7, 8],
[4, J, 6, 7, 8],
[J, 6, 7, 8],
[6, 7, 8, J],
[7, 8, J],
[1, 2, 3, 4, J, 6, 7],
[1, 2, 3, 4, J, 6],
[1, 2, 3, 4, J, 6],
[1, 2, 3, 4, J]
]
当在输入中与任何可能数量的小丑一起工作时,我无法想出任何能够解决这个问题的算法
您是否可以分享一些建议或伪代码来帮助我解决这个问题?这里有一个递归,可能需要根据您的需要进行调整。其思想是从每个可能的起点枚举到每个可能的终点。小丑只用于列表中没有的数字。由于列表可以是稀疏的,一种方法是将每个数字视为图中的一个节点,在仍然看不见的起点上执行搜索 JavaScript代码:
函数f(A、jokerMin、jokerMax、globalMin、globalMax、minSeqLen){
//记录可用元素
让sansJokers=A.filter(x=>x!='J');
让数字=新集合(sansJokers);
设numJokers=A.length-sansJokers.length;
let seen=新集合();
//有了起点,,
//尽可能地去
函数g(js、n、comb){
让结果=comb.length>=minSeqLen?[comb]:[];
if(globalMin,因此我得到了正确的答案:Min和max定义了整数边界?因此,如果我们使用上面的Min和max,但使用Differin integer列表:[0,1,3,5,11]0和11不会包含在解的子集中?为什么J会包含在解中?当min和max仅用整数定义时,您可以生成形式为[i,i+1,i+2,…,i+k]的所有序列对于k>=2和min@nmanh,您是对的,但老实说,输入列表不会使用最小值和最大值之外的数字生成。min=1;max=10;input=[J,J,J]
?