Hirdetés
- OLED TV topic
- Kormányok / autós szimulátorok topikja
- Projektor topic
- Bambu Lab 3D nyomtatók
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Melyik tápegységet vegyem?
- Házimozi haladó szinten
- Vezetékes FEJhallgatók
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Amlogic S905, S912 processzoros készülékek
-
PROHARDVER!

Új hozzászólás Aktív témák
-
Jester01
veterán
Először rendezd abc sorrendbe a beadott szót. Ez gondolom menni fog.
Utána csinálj egy tömböt amiben jelzed, ha egy betűt már felhasználtál.
Alapesetben ez legyen csupa igaz érték (true/1).
Egy másik tömbben pedig a permutált indexeket gyűjtöd, ez alapesetben egyesével nő.
Rögvest írd is ki, mert ez lesz a legelső permutáció.
A következőt pedig úgy kapod meg, hogy az utolsó karaktertől elindulsz és mindig megkeresed a következő fel nem használt betűt. Ha már nincs ilyen, akkor lépsz eggyel visszább (ha nem tudsz, akkor kész vagy). Amint találtál egyet, ismét elindulsz előre és szépen veszed az első fel nem használt betűt.
Igy valahogy:for(i = len - 1; i >= 0; i--)
{
int current = indices[ i ];
used[current] = 0;
current = findnextunused(used, current + 1, len);
if (current < len)
{
indices[ i ] = current;
break;
}
}
if (i < 0)
{
break;
}
indices[++i] = findnextunused(used, 0, len);
for(i++; i < len; i++)
{
indices[ i ] = findnextunused(used, indices[i - 1] + 1, len);
}
A findnextunused függvényem második paramétere a keresés kezdőpozíciója.
A megtalált betűt be is jelöli, hogy használatban van.
Biztos van egyszerűbb módja, mindig is utáltam a kombinatorikát
Emitter: a rekurziót is utálom
De azért persze szoktam használni.
MOD: [ i ]
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- ELADÓ LiitoKala LII-PD4 akkumulátor töltő
- Új Dobozos HP 17-cn Nagyképernyős Multimédiás Laptop 17,3" -35% i5-1334U 10Mag 16/512 FHD
- Dell Latitude E7240,12.5",HD,i5-4300U,8GB DDR3,256GB SSD,WIN10
- Deepcool CH370 WH + Cooler Master Masterwatt 700
- Eladó Konfig I5 7400 16GB DDR4 256GB SSD 500GB HDD GTX1660Ti 6GB!
- Gamer PC-Számítógép! Csere-Beszámítás! I5 6600K / 16GB DDR4 / GTX 1660 6GB / 128SSD + 1TB HDD
- Bomba ár! Lenovo ThinkPad T14s Gen2 - i7-1165G7 I 16GB I 512SSD I 14" FHD I W11 I Cam I Gari!
- Bomba ár! Lenovo ThinkPad X240 - i5-4GEN I 8GB I 256SSD I 12,5" HD I W10 I Garancia!
- Bomba ár! Lenovo ThinkPad T450s - i5-5GEN I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


De azért persze szoktam használni.


