Kezdőoldal » Számítástechnika » Programozás » Van jobb megoldás erre a...

Van jobb megoldás erre a feladatra?

Figyelt kérdés

A feladat a következő:

- a bemeneti érték egy tömb

- a kimeneti érték szintén egy tömb, ahol adott index értéke annyi, amennyi darab kisebb szám található a bemeneti tömbben az azonos indexen álló számnál


Példa:

- bemenet: [8, 3, 1, 5]

- kimenet: [3, 1, 0, 2]

Tehát 8-3, mert 8-nál 3db kisebb szám van a bemeneti tömbben (1, 3 és 5)

3-1, mert 3-nál 1db kisebb szám van a bemeneti tömbben (az 1)

1-0, mert az 1 a legkisebb szám a bemeneti tömbben

5-2, mert 5-nél 2db kisebb szám van a bemeneti tömbben (1 és 3)


A megoldásom a következő:

- létrehozom a kimeneti tömböt (a mérete megegyezik a bemeneti tömb méretével)

- for ciklussal végig iterálok a bemeneti tömbön

- a fenti for ciklusban újabb for ciklust indítok, ami szintén végig iterál a tömbön

- ha a belső for ciklus aktuális eleme kisebb, mint a külsőé, akkor a kimeneti tömb megfelelő indexén lévő értéket inkrementálom

- visszaadom a kimeneti tömböt


Ez elég triviális megoldásnak tűnik és nem vagyok biztos benne, hogy nem-e létezik ennél jobb megoldás.


Nem szükséges kódot írni, csak ötletekre lennék kíváncsi inkább.



2020. márc. 13. 12:30
1 2
 11/12 anonim ***** válasza:
100%

"Ezután a bemenet i indexéhez csak ki kell vennem a számláló tömb i - 1 indexét"


Ezt is rosszul fogalmaztam, a bemenet i indexén található számhoz a számláló tömb megfelelő megelőző indexét.

Tehát ha input[i] értéke 3, akkor count[2]-t veszek ki.

2020. márc. 13. 15:46
Hasznos számodra ez a válasz?
 12/12 A kérdező kommentje:
Megértettem, köszi.
2020. márc. 13. 19:13
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!