udah 2 hai tapi gak pecah pecah,, nih masalah udah kusut pala ane gan plis bantu

var input = 'abc';
var bitmask = 0;
var characters = input.split('');
var running = [];
function permutations() {
    var i;
    if(running.length == characters.length) {
        console.log(running.join(''));
    } else {
    for(i=0; i<characters.length; i++) {
            if ( ((bitmask>>i)&1) == 0 ) {
                running.push(characters[i]);
                bitmask |= (1<<i);
                permutations();
                running.pop();
            }
        }
    }
}
permutations();

gimana agar keluarnya kayak gini gan,, abc acb bac bca cab cba

yang salah dari yang ane buat di atas mastah tolong bantu ane udah 2 hari ampe ane gebukin pala sendiri tapi gx kepecah di mana sih salahnya mastah,,??

sekian terima kasih

avatar Edolf
@Edolf

4 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

function permut(string) {
    if (string.length < 2) return string; // This is our break condition

    var permutations = []; // This array will hold our permutations

    for (var i=0; i<string.length; i++) {
        var char = string[i];

        // Cause we don't want any duplicates:
        if (string.indexOf(char) != i) // if char was used already
            continue;           // skip it this time

        //Note: you can concat Strings via '+' in JS
        var remainingString = string.slice(0,i) + string.slice(i+1,string.length);

        for (var subPermutation of permut(remainingString))
            permutations.push(char + subPermutation)

    }
    return permutations;
}

console.log(permut('abc'));

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 6 tahun yang lalu

wehhh.. mkasih bang cara abang juga lebih simple makasih dah bg,, kalo ane cewek udh ane kasih kode dah untung nya ane cowok :v

avatar Edolf
@Edolf

4 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban