-
Fototrend

Ú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!
- Túl jól fogy az S26, túlóráznia kell a gyártósoroknak
- Tőzsde és gazdaság
- AMD Navi Radeon™ RX 9xxx sorozat
- Honda topik
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Samsung Galaxy Felhasználók OFF topicja
- Heroes of Might & Magic: Olden Era
- Házimozi belépő szinten
- Revolut
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- PS4 Pro - CUH7216b - GoldHen BD-JB Lapse - Samsung 500GB SSD
- HP OMEN X 35 X3W57AA
- Gigabyte GAMER-ke FullHD IPS Core i7(8 3,4Ghz),GTX 2/6GB DDR5 128BIT VGA,16GB RAM/560GB-1TB SSD
- Dell i7 1355u(12x5Ghz)15,6"FullHD IPS,8-48/256-1TB,világító billentyűzet,Új állapot
- Lenovo Yoga Tab 11 4/128 YT-J706X LTE STORM GRAY
- Új HikSEMI 16GB DDR4 2666MHz Hiker Black + Számla + Garancia
- Lenovo Yoga 7 2in1 OLED FHD+ Ultra 5 125H 16 GB DDR5 7467 MHz Magyar helyszíni garancia 2028.06.
- iKing.Hu - Apple iPhone 15 Plus 128GB Black használt szép állapot 90% akku 6 hónap garancia
- MS SQL Server 2016, 2017, 2019
- GAMER PC! Intel i9-12900KF / RX 7900 XTX / 32GB DDR4 /1TB Gen4 / B760 /1350w Platinum! BeszámítOK
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


De azért persze szoktam használni.
