Hirdetés
- Svájcban bukkant fel egy Berlinbe készülő HMD
- Milyen okostelefont vegyek?
- Android dual SIM okostelefonok
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Okosóra és okoskiegészítő topik
- Xiaomi Redmi Note 5 Global
- Samsung Galaxy S25 Edge - a tegnap határán
- Google Pixel 9a - a lapos munka
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Android alkalmazások - szoftver kibeszélő 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álomDe 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!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Svájcban bukkant fel egy Berlinbe készülő HMD
- Renault, Dacia topik
- Azonnali notebookos kérdések órája
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Azonnali VGA-s kérdések órája
- Xiaomi AX3600 WiFi 6 AIoT Router
- Mikrotik routerek
- Milyen okostelefont vegyek?
- További aktív témák...
- Bomba ár! HP ZBook 14 G8 - i7-1165G7 I 16GB I 512SSD I Nvidia 4GB I 14" FHD I Cam I W11 I Gari!
- Bomba ár! HP ProBook 640 G8 - i7-1165G7 I 32GB I 512GB SSD I 14" FULLHD I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad T495 - AMD Ryzen PRO 7 I 16GB I 256GB SSD I 14" FHD I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad T14 G1 - i5-10GEN I 16GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! HP EliteBook 840 G7 - i5-10G I 16GB I 256GB SSD I HDMI I 14" FHD I Cam I W11 I Gari!
- Apple MacBook Pro Touch Bar(13-inch, M1, 2020)- 181 Ciklus - 96% Akku -8GB/256GB SSD - Ezüst -MAGYAR
- Bomba Ár! Fujitsu LifeBook E752 - i5-3GEN I 8GB I 320-500GB I DVDRW I 15,6" HD I Cam I W10 I Gari!
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Designer 4K Monitor - BenQ PD-2700-U
- Lenovo ThinkPad P1 G7
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest