相关疑难解决方法(0)

Javascript - 在单个数组中生成元素的所有组合(成对)

我已经看到了几个关于如何在数组中生成所有可能的元素组合的类似问题.但是我很难弄清楚如何编写一个只输出组合的算法.任何建议都将超级赞赏!

从以下数组开始(带有N个元素):

var array = ["apple", "banana", "lemon", "mango"];
Run Code Online (Sandbox Code Playgroud)

得到以下结果:

var result = [
   "apple banana"
   "apple lemon"
   "apple mango"
   "banana lemon"
   "banana mango"
   "lemon mango"
];
Run Code Online (Sandbox Code Playgroud)

我正在尝试以下方法,但这导致所有可能的组合,而不是组合对.

var letters = splSentences;
var combi = [];
var temp= "";
var letLen = Math.pow(2, letters.length);

for (var i = 0; i < letLen ; i++){
    temp= "";
    for (var j=0;j<letters.length;j++) {
        if ((i & Math.pow(2,j))){ 
            temp += letters[j]+ " "
        }
    }
    if (temp !== "") {
        combi.push(temp);
    } …
Run Code Online (Sandbox Code Playgroud)

javascript arrays algorithm combinations

16
推荐指数
8
解决办法
2万
查看次数

将采用数字或单词并找到所有可能组合的算法

我正在寻找一种算法,它将采用数字或单词并找到它们的所有可能变体,并让我定义要一起查找的值.

示例假设字符串或数组是:

cat  
dog  
fish  
Run Code Online (Sandbox Code Playgroud)

那么值为2的结果可能是:

cat dog  
cat fish  
dog cat  
dog fish  
fish cat  
fish dog   
Run Code Online (Sandbox Code Playgroud)

因此,3个项目的结果是6个可能的变化,2个结果匹配
3个结果匹配它将是:

cat dog fish  
cat fish dog  
dog cat fish  
dog fish cat  
fish cat dog  
fish dog cat  
Run Code Online (Sandbox Code Playgroud)

...甚至可能有更多的选择

我在这个例子的Stackoverflow上找到了一个链接来做这个,但它是在javascript中,我想知道是否有人知道如何在PHP中执行此操作可能已经构建了一些东西?

http://www.merriampark.com/comb.htm(死链接)

php algorithm permutation

15
推荐指数
2
解决办法
5617
查看次数

PHP查找所有(某种程度上)数组的唯一组合

我整天都在看PHP数组排列/组合问题..但仍然无法弄明白:/

如果我有一个像这样的数组:

20 //key being 0    
20 //key being 1    
22 //key being 2    
24 //key being 3
Run Code Online (Sandbox Code Playgroud)

我需要组合如:

20, 20, 22 //keys being 0 1 2    
20, 20, 24 //keys being 0 1 3    
20, 22, 24 //keys being 0 2 3
20, 22, 24 //keys being 1 2 3
Run Code Online (Sandbox Code Playgroud)

我目前的代码给了我:

20, 22, 24
Run Code Online (Sandbox Code Playgroud)

因为它不想重复20 ...但这就是我需要的!

这是我的代码.它直接来自Php递归以获得字符串的所有可能性

function getCombinations($base,$n){

$baselen = count($base);
if($baselen == 0){
    return;
}
    if($n == 1){
        $return = array();
        foreach($base as $b){
            $return[] = …
Run Code Online (Sandbox Code Playgroud)

php algorithm recursion combinations permutation

9
推荐指数
1
解决办法
1万
查看次数

PHP中的组合,处置和排列

在PHP中生成数组的所有组合,配置和排列的最有效方法是什么?

php arrays algorithm math combinatorics

6
推荐指数
2
解决办法
9065
查看次数

如何在PHP中配对玩家?

我开始学习,我正在制作一个家用fifa18杯的项目.我有一个问题,我不知道如何配对我所说的所有球员:Player1,Player2,Player3,Player4

=> P1 vs P2, P1 vs P3, P1 vs P4 
=> P2 vs P3, P2 vs P4 
=> P3 vs P4
Run Code Online (Sandbox Code Playgroud)

我使用牛顿公式n!/k!(n-k)!计算没有报复的比赛数量,并让所有球员进入$tab.

所以,现在,我的问题,我怎么配这个?

像这样,它不会重复和P1与P1的例子.

<?php
    require("server/baza.php");
    $przelacznik = 1;//$_POST['losuj'];
    $zapytanie = "select nick from mecze";
    if($przelacznik == 1){
        $wynik = mysqli_query($polaczenie,$zapytanie);
        $tab = array();
        $n=0;
        while($wiersz = mysqli_fetch_assoc($wynik)){ 
            array_push($tab,$wiersz['nick']);
            //$tab[] = $wiersz;
            $n++;  
        }
        $Nsilnia = 1;
        $NKsilnia =1;
        for ($i=1; $i<=$n; $i++) {
            $Nsilnia *= $i;
        }
        for($j=1;$j<=($n-2);$j++){
            $NKsilnia *= $j;
        }
        $ilosc_rozgrywek …
Run Code Online (Sandbox Code Playgroud)

php

-2
推荐指数
1
解决办法
78
查看次数