Visualizzazione dei risultati da 1 a 10 su 30

Visualizzazione discussione

  1. #18
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Quote Originariamente inviata da gfr1991 Visualizza il messaggio
    Grazie per la disponibilità innanzitutto!
    No, in realtà io ho bisogno di trovare la combinazione che, dati due array, mi restituisca la somma più alta fra i due prendendo UNO E UN SOLO valore per ogni array, senza possibilità di usare un valore due volte.

    Se ho per esempio

    a= 30
    b= 29
    c= 20
    d= 10
    e= 5

    e ho

    array1 (a, b, c)
    array2 (a, c, d)

    Il codice dovrebbe essere in grado di prendere dall'array 1 il valore B (cioè 29), e dall'array 2 il valore A (cioè 30), perchè questa è la combinazione che restituisce il valore massimo della somma array1+array2!
    Prova il mio ultimo esperimento

    Codice PHP:
    $array = [[30,29],[30,23,21,20]];


    function 
    SommaUnicaMassima(array $array){
        
    $max $vals = [];

        
    //ciclo $array per avere un unico array
        
    foreach($array as $arr)
            if(
    is_array($arr))
                
    $vals array_merge($vals,$arr);   

        
    //trovo tanti valori massimi quanti il numero degli array
        
    while(count($max)<count($array) && count($vals)>0)
        {
            
    //trovo il valore massimo
            
    $m max($vals);
            
    //lo aggiungo
            
    $max[] = $m;
            
    //lo rimuovo
            
    $vals array_diff($vals,[$m]);
        }

        
    //ritorno con la somma dei valori
        
    return array_sum($max);
    }


    echo 
    SommaUnicaMassima($array); //59 

    Edit: funziona a metà per ora non si basa su un singolo elemento per array , vabbè riprovo dopo semmai, vedi di completarlo te...
    Ultima modifica di RoTeam; 10-08-2014 a 15:59

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.