Weboldalunk cookie-kat használhat, hogy megjegyezze a belépési adatokat, egyedi beállításokat, továbbá statisztikai célokra és hogy a személyes érdeklődéshez igazítsa hirdetéseit. További információ
Kezdőoldal » Számítástechnika » Programozás » Hogy kell lekódolni?

Hogy kell lekódolni?

Figyelt kérdés

Van egy N elemű int tömb és egy K szám (N <= 10000, K <= 10).

Mennyi a tömbből maximálisan kiválasztható összeg ha bármennyi elemet kiválaszthatunk de maximum K db lehet egymást követő?

Pl [1, 2, 3, 4] a tömb és K = 2 akkor 8 a válasz.



szept. 15. 18:28
1 2 3
 11/30 anonim ***** válasza:
100%
Ő az, valami kiégett 40-es fószer állítólag, csak simán nem kell rá figyelni.
szept. 15. 22:06
Hasznos számodra ez a válasz?
 12/30 anonim ***** válasza:
Milyen nyelv?
szept. 15. 22:25
Hasznos számodra ez a válasz?
 13/30 anonim ***** válasza:
60%

#1-es vagyok nem biztos hogy a legjobb megoldás (de mindenki jobban szeret kijavítani másokat mint kérdésre válaszolni)

Csinálj egy ciklust ami addig megy míg a vektor szummája 0 vagy kevesebb

ha ez hamis (vagyis nagyobb mint 0) akkor keresd meg a legnagyobb elemet és vizsgáld meg hogy mellette balra jobbra van e összesen K mennyiségű nulla ha van akkor csak állítsd át -1-re ha nincs akkor add hozzá a változóhoz ami majd az eredményt adja és állítsd át nullára a vektorban


Szóval a te példáddal az [1, 2, 3, 4] vektor K = 2

Max(v) = 4

az indextől balra (jobbra nem mehet ha vektor vége/nincs több elem) az i-1 és i-K elemek nem nullák így a szumma = 4 és lenullázzuk

Marad a [1, 2, 3, 0] vektor ahol a max a 3, megint nincs elég nulla balra jobbra így szumma = szumma+3;

marad az [1, 2, 0, 0] ugye a maximum a 2 lenne de mivel jobbra már megvan a K mennyiségű nulla így 0 helyett -1-re állítjuk

[1, -1, 0, 0] ből a max az 1 ami mellett nincs meg az elég 0 így a szumma = szumma+1; és a végén megkapjuk a [0, -1, 0, 0] vektor

Így kijön a nyolc és a ciklus leállhat mert a vektor szummája -1


nem tudom milyen nyelvben kéne neked ezért csak így szövegesen (remélem érthetően) leírtam

szept. 15. 22:28
Hasznos számodra ez a válasz?
 14/30 A kérdező kommentje:

12-es én Javaban próbálkozok.

13-as nem biztos hogy jól értem, de ha 0 és -1 van a tömbben akkor ez nem működik szerintem.

Pl lehet mondjuk [-5, -1, -10, -1] a tömb, ekkor ugye -1 a megoldás.

Vagy lehet pl [5, -10000, 25] és mondjuk K = 3. Ekkor a szumma eleve negatív de a megoldás 30.

szept. 15. 22:51
 15/30 anonim ***** válasza:
azt nem vettem figyelembe hogy lehetnek negatív számok csak leírtam egy opciót mivel jelölheted, akár egy sima int vektor is mehet mellé ahol tárolod ezeket a -1 0 (és 1eseket is ebben az esetben) csak egy általános leírást adtam hozzá, hogy hogyan írod meg hozzá a kódot az rajtad áll ha lehetnek negatív számok akkor mindenképp kell egy vektor mellé
szept. 15. 23:22
Hasznos számodra ez a válasz?
 16/30 anonim ***** válasza:
0%
Az ilyen feladatoknak amúgy semmi értelme, még tanulásra se. Sose fogsz ilyeneket gyakorlatban írni. :). Inkább olyanokat csinálj, ami kell is. Azzal tanulsz igazán.
szept. 15. 23:26
Hasznos számodra ez a válasz?
 17/30 anonim ***** válasza:
45%
#16 ez könnyebb on-site interjú feladat komolyabb tech cégeknél. Az, hogy te sosem fogsz ilyet írni nem jelenti azt, hogy más sem.
szept. 15. 23:42
Hasznos számodra ez a válasz?
 18/30 anonim ***** válasza:
32%
Igen? Az eléggé gáz. Nem mennék ilyen helyre, ha ezt interjú feladatnak raknák be.
szept. 16. 05:51
Hasznos számodra ez a válasz?
 19/30 anonim ***** válasza:
69%
Téged be sem hívnának ilyen helyre, úgyhogy akkor mindenki jól jár :)
szept. 16. 06:34
Hasznos számodra ez a válasz?
 20/30 A kérdező kommentje:
Köszönöm az itt és privátban válaszolóknak is a megoldásokat!
szept. 16. 07:10
1 2 3

Kapcsolódó kérdések:





Minden jog fenntartva © 2020, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | WebMinute Kft. | Facebook | Kapcsolat: info@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!