- Google Pixel topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Brutális akkumulátort kaphat a Honor X80 GT
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Nintendo DS-sel pózol egy OnePlus
- Milyen okostelefont vegyek?
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Xiaomi 14 - párátlanul jó lehetne
- Szívós, szép és kitartó az új OnePlus óra
- Apple iPhone 17 - alap
-
Mobilarena

Ú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!
- Dell notebook topic
- Apple MacBook
- Google Pixel topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Fejhallgató erősítő és DAC topik
- Először beszélt bővebben az új Xbox konzolról a Microsoft
- Háztartási gépek
- Parkside szerszám kibeszélő
- Teljes verziós, ingyenes mobil játékok és alkalmazások
- Debrecen és környéke adok-veszek-beszélgetek
- További aktív témák...
- BESZÁMÍTÁS! Gigabyte Z790 i7 14700KF 64GB DDR5 1TB SSD RTX 5070Ti 16GB LIAN LI LANCOOL 207 850W
- BESZÁMÍTÁS! Asus B650M R5 7600X 32GB DDR5 1TB SSD RTX 5060Ti 16GB Lian Li Vector V100R RGB TG 650W
- BESZÁMÍTÁS! Gigabyte B650M R7 8700F 64GB DDR5 1TB SSD RX 7800 XT 16GB LianLi VectorV100R RGB TG 750W
- PC Játékok
- BESZÁMÍTÁS! AsRock H510M i5 11400 16GB DDR4 512GB SSD RX 6600 8GB Zalman T4 Plus ADATA 600W
- 5G LTE! Microsoft Surface Pro 8 i7-1185G7 16GB 512GB 1 év garancia
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol garanciával hibátlan működéssel
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Apple iPhone 17 Pro 256GB Deep Blue használt, karcmentes 100% akku (16 ciklus) Apple garancia
- Akció! Dell Latitude 7200 2-in-1,12.3",FHD,i5-8365U,8GB,256GB SSD,WIN11,Tablet,LTE
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



De azért persze szoktam használni.

