- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Fűzzük össze a szavakat :)
- <Lacy85>: Időmilliomosok előnyben - Játékfejlesztés #1
- btz: Internet fejlesztés országosan!
- urandom0: Kicsit most elfáradtam...
- sziku69: Szólánc.
- GoodSpeed: Bye PET Palack, hello SodaStream
-
LOGOUT
Ú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!
- MSI Thin GF63 15.6" FHD IPS i5-12450H RTX 4050 16GB 512GB NVMe gar
- Samsung Galaxy S23 Ultra Black 200 MP Pro kamera, S Pen, 120 Hz QHD+ 8/256 GB
- X1 Yoga 6th 14" FHD+ IPS érintő i7-1185G7 32GB 512GB NVMe ujjlolv IR kam aktív toll gar
- L13 Gen4 13.3" FHD+ IPS i5-1335U 16GB 256GB NVMe ujjlolv IR kam gar
- Google Pixel 10 Pro 5G Porcelain AI-fotó varázs, Super Actua 120 Hz 128 GB
- SzinteÚJ! HP Elitebook 860 G9 i7-1255U 32GB 1000GB 16" FHD+ Gar.: 1 év
- GYÖNYÖRŰ iPhone 13 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3036
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Eredeti DELL 240W töltők (LA240PM160)
- BESZÁMÍTÁS! MSI B450 R7 3800X 16GB DDR4 512GB SSD RTX 2070 SUPER 8GB ZALMAN T7 FSP 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest