jjzjj

combinations

全部标签

php - 需要从多组列表中获得最佳总和组合的算法(逻辑)

我有多组数据,比如第1组2,3,5,10,15第2组4,6,23,15,12第3组23,34,12,1,5我需要这3组的最佳总和(例如总和(g1+g2+g3)第一个(g1)5+(g2)15+(g3)+5=25(最佳组合)现在,对于下一组组合,无需使用每个对应组的上述值第1组2,3,5,10,15第2组4,6,23,15,12第3组23,34,12,1,5第二(g1)2+(g2)23=25(最佳组合)组12,3,5,10,15第2组4,6,23,15,12第3组23,34,12,1,5第三(g1)15+(g2)6+(g3)+1=22(最佳组合)我希望这可能有点复杂。但我可能会得到更好的解

php - 数组中值的排列

假设一个数组是Array([0]=>1[1]=>2[2]=>3[3]=>4)我想通过提供两个具有以下排列的参数(两个数组)来调用函数-array(1)andarray(2,3,4)array(1,2)andarray(3,4)array(1,2,3)andarray(4)array(1,3)andarray(2,4)array(1,4)andarray(2,3)array(2)andarray(1,3,4)andsoon...当然实际数组会更大。 最佳答案 我不知道如何调用“排列”(它甚至可能不是排列),但它看起来很有希望利用集合中

php - 如果变量是 int 值,array_combine php 函数不会保留字符串变量的数据类型

如果变量是int值,array_combinephp函数不会保留字符串变量的数据类型一个简单的例子:$a=array('1','2');$b=array('first','second');$c=array_combine($a,$b);$ak=array_keys($c);var_dump($ak);这将产生输出:1和2的整数值。我想要的是保留值1和2的字符串类型临时的,我用过:array_walkto最终实现我想要的。 最佳答案 这不是因为array_combine()函数的特定行为,而是因为valid-integerkeyst

php - 如何返回给定字符串的所有组合? (例如 'foo bar' = bar、bar_foo、foo)

这个问题与上面建议的问题不重复。标题可能听起来相似,但它的答案不会以任何方式导致结果中描述的结果下面的问题。我很难以递归方式遍历未知长度的数组来创建唯一的字符串组合。你能帮忙吗?目标是获取像foobar这样的字符串,并从该字符串创建独特的组合:foobarbar_foo(alphabetizedtomakeuniquecombinations,notpermutations)另一个例子:carbaradd应该返回:addadd_baradd_caradd_bar_carbarbar_carcar这是我的进步:functionstring_builder($length){$arrWor

php - 如何从多个数组中获取所有组合?

假设我有这3个数组$array1=array(1,2);$array2=array(4,5);$array3=array(7,8);我需要这个输出147148157158247248257258我的一个问题是我的数组可能有3到15个不同的数组,每个数组可能都是空的(我可能会添加0只是为了不为空)或者有很多值。如果我有一个空数组,我还需要将其计为有效列。这些值将用于按特定顺序填充数据库。有什么办法可以做到这一点吗? 最佳答案 有多少种组合?那么首先要问有多少种组合?答案是您必须将每个数组的数量相乘。所以(c=金额1):carray1*

php - 如何在循环赛中配对?

我正在制作一个锦标赛应用程序,可以让许多(4、6或8)名玩家相互匹配。它是基于回合的。因此,如果总共有6名玩家,则将进行5轮,每轮3对。每个玩家每轮只能出现一次。我尝试了什么我一直在使用for循环来获得所需的组合,但我如何才能将这些对分成几轮,以免它们重复?这是我到目前为止所做的(进行所有组合):"12"1=>"13"2=>"23"3=>"14"4=>"24"5=>"34"6=>"15"7=>"25"8=>"35"9=>"45"10=>"16"11=>"26"12=>"36"13=>"46"14=>"56"]*/我的问题有没有什么通用的方法可以将配对分配到回合中,同时玩家不会在同一回合

php - 检查有效主机 :port combination

有没有办法使用正则表达式和php检查有效的host:port组合?正则表达式必须确保:host为合法IP(包含4个1-3位数字,3点分隔,1-255范围内的数字)有一个分隔符:port是0到65535之间的有效数字不允许有其他内容有效组合示例:95.241.1.5:54232.8.5.2:65532无效组合示例:1.2345.12.1:544115.852.32.455:15189684165.112.15.32:48trololo 最佳答案 ^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?

php - "Unfolding"一个字符串

我有一组字符串,每个字符串都有可变数量的段,由管道(|)分隔,例如:$string='abc|b|ac';每个超过一个字符的段都应该扩展为所有可能的一个字符组合,对于3个段,以下“算法”非常有效:$result=array();$string=explode('|','abc|b|ac');foreach(str_split($string[0])as$i){foreach(str_split($string[1])as$j){foreach(str_split($string[2])as$k){$result[]=implode('|',array($i,$j,$k));//more

php - 显示可能的字符串组合

我正在尝试获取一个字符串并显示它的可能组合(在PHP中),但同时按每个单词的顺序说。例如:“你好吗”将返回(一个数组)HowareyouHowareareyouhowyouare我现在的代码显示所有组合,但我希望它保持顺序而不是翻转单词。任何人有任何想法或他们愿意分享的片段吗?谢谢 最佳答案 设置两个迭代器并打印它们之间的所有内容。所以像这样:输出HowHowareHowareyouareareyouyou 关于php-显示可能的字符串组合,我们在StackOverflow上找到一个类似

php - 如何计算最大值可能的组合数量?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:Displaypossiblecombinationsofstringalgorithmthatwilltakenumbersorwordsandfindallpossiblecombinations如果我有3个字符串,比如:"abcdefxyz"我想找到通过重新排列这些字符串可以生成的最大组合数,例如:abcxyzdefdefxyzabcxyzabcdef等计算这个的公式/算法是什么?