Kezdőoldal » Számítástechnika » Programozás » Elakadtam egy HackerRanks...

Elakadtam egy HackerRanks feladatban, hol lehet a hibám? (bármely C szerű nyelvben)

Figyelt kérdés

HackerRanks, Picking numbers feladat. Nem konkrét interjúra vagy ilyesmire kell és nem iskolai feladat, az oldal email-ben küldte.


Given an array of integers, find and print the maximum number of integers you can select from the array such that the absolute difference between any two of the chosen integers is less than or equal to 1.


....


Sample Input 0


6 a hossza

4 6 5 3 3 1 a számok, nem feltétlenül rendezett, mint a mellékelt ábra is mutatja


Sample Output 0


3



https://pastebin (pont) com/ZAHk1W0F


Hol a hibám?

Ez C#, de nem muszáj ahhoz ragaszkodni, bármely C nyelvben megérteném a lényeget. :)


2020. jan. 28. 15:13
1 2 3 4
 1/37 anonim ***** válasza:
3%
Én nem néztem végig a kódodat, csak jelezni szeretném, hogy ha optimális megoldást akarsz írni, akkor rossz úton indultál el. Ez O(n)-es komplexitással-, pár sorban megoldható feladat.
2020. jan. 28. 15:36
Hasznos számodra ez a válasz?
 2/37 A kérdező kommentje:

Jó, de ötletet kérnék szépen.


Azt én is tudom, hogy rossz, mert jelenleg 1 teszteseten se megy át.


Plusz sehol se tanultam azt a mérőszámot, de azt látom, hogy túl bonyolult a kódom. Tehát tuti szebben lehetne.

2020. jan. 28. 15:46
 3/37 anonim ***** válasza:
21%

Van megszorítás a tömbben lévő számok értékére?

1-10 intervallumba eső számok fordulnak csak elő, vagy ilyesmi?

2020. jan. 28. 15:52
Hasznos számodra ez a válasz?
 4/37 A kérdező kommentje:

Darabszám [2..100]

Érték ]0..100[

2020. jan. 28. 15:58
 5/37 anonim ***** válasza:
10%

"Jó, de ötletet kérnék szépen."


Egyetem. Mondjuk a BME vagy az Óbudai.


Kiválasztás tétele.

1-esnél a pont.

2020. jan. 28. 16:00
Hasznos számodra ez a válasz?
 6/37 A kérdező kommentje:

Na arra nem feltétlen fogadtam volna, hogy ennél a kérdésnél is bunkók lesznek az emberek. Anyám, de komolyan...


Ez a kategória amúgy tipikusan olyan, hogy semmilyen kérdést nem lehet feltenni sehogyan se...

2020. jan. 28. 16:07
 7/37 anonim ***** válasza:
0%

Az okoskodás megy szokás szerint, csak valahogy a megoldás nem.

O(n)-ben egyébként nem oldható meg a feladat, nem véletlenül nem jött hozzá megoldás, csak az arcoskodás.

Én párba állítgatnám a számokat.

4 -> új pár, párba állhat majd 3-mal vagy 5-tel

6 -> új pár, párba állhat majd 5-tel vagy 7-tel

5 -> 4-es és 6-os párhoz is hozzácsapodik

3 -> 4-eshez hozzácsapódik és új párt alkothat a 2-essel

3 -> 3-es és 4-es párhoz is hozzácsapódik

1 -> új pár, párba állhat 0-val vagy 2-vel

Végére értünk, megnézzük melyik pár a leghosszabb -> 4, 3, 3 nyert, tehát a max hossz 3.

2020. jan. 28. 16:12
Hasznos számodra ez a válasz?
 8/37 anonim ***** válasza:
64%

Először csak próbálom értelmezni a kódot: Szóval először rendezed, utána olyan szakaszt keresel benne, ahol a kritérium teljesül.

Amit nem értek, hogy az egyik else ágban lévő "firstNumberOfSeq = -1" mit csinál. Olyan, mintha eldobná a már megtalált sorozatot, ha vége van.

1 3 3 4 5 6

Itt pl. az 5-ösnél eldobja a 334 sorozatot? (Lehet, hogy én értem félre.)

2020. jan. 28. 16:18
Hasznos számodra ez a válasz?
 9/37 A kérdező kommentje:

Lehet, hogy az volt a hibám. Rögzíteni próbáltam a megtalált szakasz hosszát, de magát a szakaszt eldobni és a többire koncentrálni.



Átgondoltam máshogy, 2 ciklussal és számolom, hány a[i] - nál eggyel nagyobb, kisebb vagy egyenlő szám van, így már csak 1 db teszteset rossz.

2020. jan. 28. 16:23
 10/37 anonim ***** válasza:
64%

https://pastebin (pont) com/pww3L4vT


1 pass, O(n) time, O(n) space, Java megoldás, csak a csicska hetes válaszolónak :)

2020. jan. 28. 16:31
Hasznos számodra ez a válasz?
1 2 3 4

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!