- Xiaomi 15T Pro - a téma nincs lezárva
- iPhone topik
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen okostelefont vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- Magyarországról is elérhető a Xiaomi Pay
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Megvan, melyik Snapdragon 7 kerül Nothing Phone (4a)-ba
- Okosóra és okoskiegészítő topik
-
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!
- Hivatalos: jön PC-re a Death Stranding 2, és nem is kell sokat várni
- Kamionok, fuvarozás, logisztika topik
- Autós kamerák
- Arc Raiders
- OLED TV topic
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Gitáros topic
- Xiaomi 15T Pro - a téma nincs lezárva
- Azonnali fáradt gőzös kérdések órája
- PlayStation 5
- További aktív témák...
- BESZÁMÍTÁS! 1TB Samsung 980 M.2. NVMe SSD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! 2TB Samsung 980 PRO NVMe SSD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! 1TB Samsung 980 Pro NVMe SSD meghajtó garanciával hibátlan működéssel
- Gamer PC
- BESZÁMÍTÁS! AMD Ryzen 7 5800X3D 8 mag 16 szál processzor garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 9060XT 16GB GAMER PC termékbeszámítással
- Dell D6000 univerzális dokkoló USB-C/ USB-A, DisplayLink & Dell WD15 (K17A) USB-C + 130-180W töltő
- HIBÁTLAN iPhone 14 Pro 128GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4420, 100% Akksi
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Használt Vrtech Baby interaktív laptop gyerekeknek német nyelven
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


De azért persze szoktam használni.


