Kezdőoldal » Számítástechnika » Programozás » Szegedi EPAM céghez mennyire...

Szegedi EPAM céghez mennyire nehéz bekerülni?

Figyelt kérdés

Üdv! 1 éve végeztem el egy egy éves java fejlesztői tanfolyamot.Manapság hackerrankon gyakorlok, változó sikerekkel. Ebben java8-at, htmlt, javaFxet, Tomcatet, XAMPPot, CSSt, és MySQLt tanultunk. A java objektumok használata megy, illetve tudom a OO alapelveket is. Az összes hívható metódust az objektumokra nem tudom még fejből. Az egyszerűbb feladatok szintén mennek, például listából/tömbből akármelyik két szám közötti legkisebb különbség visszaadása. Az összetettebbeket már kevésbé. Ilyen például az alábbi feladat, ami számomra nehezen lekódolható - így csak nagyjából sikerült logikailag megvalósítanom állásinterjún is:

Adott 1 Integer lista/tömb, ki kell keresni a 2 legkisebb számot belőle. Ezeket összeadni, az értéküket kimenteni 1 változóba, majd az összegüket a lista legvégére tenni. Mindezt addig csinálni, amíg egyetlen elemből nem fog állni a lista, és a kapott értékeket egymáshoz hozzáadni. Számomra ebben az a nehézkes, hogy egy hosszabb kódnál hova tegyem az új lépéseket - más szóval, hogy jó helyre tegyem a scopeokat. "Ez a for ciklus vagy új változó logikailag hova kerüljön, ha xy-t akarom megvalósítani?"

Pl.

a = {2,4,5};

int számláló = 0;

ebből adódóan:

a = {5,6};

int számláló = 6;

...

a = {11};

int számláló = 17;


A kérdésem az lenne, hogy mennyire kellene még elmélyítsem a tudásom? Nemrég beküldtem az általuk adott online teszt megoldását, de még 5 napra rá sem kaptam választ, így kezdem úgy érezni, hogy nem feleltem meg. A válaszokat előre is köszi.



2021. okt. 22. 15:49
1 2
 11/19 anonim ***** válasza:
#10 Gratulálok a projectedhez.
2021. okt. 24. 17:00
Hasznos számodra ez a válasz?
 12/19 A kérdező kommentje:
Köszi.
2021. okt. 24. 17:03
 13/19 anonim ***** válasza:
Ez szépen hangzik, de sokminden függ az implementálás módjától. Tudnál kérlek github/gitbármi linket adni a projektedhez?
2021. okt. 24. 17:05
Hasznos számodra ez a válasz?
 14/19 A kérdező kommentje:

#13


Elküldtem üzenetben.

2021. okt. 24. 17:50
 15/19 anonim ***** válasza:
Ide is jöhet
2021. okt. 24. 17:52
Hasznos számodra ez a válasz?
 16/19 A kérdező kommentje:
Véleményt kérhetek a projectről?
2021. okt. 25. 16:03
 17/19 anonim ***** válasza:
Na mi újság? Sikerült elhelyezkedni?
2022. jún. 4. 09:14
Hasznos számodra ez a válasz?
 18/19 anonim válasza:

Sziasztok!


Én is most tanulom a Java-t és ráakadtam erre a feladatra. A kérdésem az lenne, hogy meg lehet ezt rövidebben oldani? (a debug jellegű kiíratásokat nyilván ki lehetne belőle venni és a formázást is lehetne rövidíteni)


List<Integer> numsList = new ArrayList<>();

numsList.add(5);

numsList.add(6);

numsList.add(15);

numsList.add(2);

numsList.add(3);

numsList.add(22);

numsList.add(1);

numsList.add(33);


System.out.println(numsList);

System.out.println();


while (1 < numsList.size()) {

int a = numsList.getFirst();

int b;

int c;


for (int i = 0; i < numsList.size(); i++) {

if (numsList.get(i) < a)

a = numsList.get(i);

}

System.out.println("a: " + a + " (i: " + numsList.indexOf(a) + ")");

numsList.remove(numsList.indexOf(a));


b = numsList.get(0);

for (int i = 0; i < numsList.size(); i++) {

if (numsList.get(i) < b)

b = numsList.get(i);

}

System.out.println("b: " + b + " (i: " + numsList.indexOf(b) + ")");

numsList.remove(numsList.indexOf(b));

c = a + b;

System.out.println("c: " + c);


numsList.add(c);

System.out.println(numsList);

System.out.println();

}

}

}


Új listába is lehetne tenni az "a"-t, kétszer futtatva a legkisebb szám keresést, és akkor a lista első két elemének összege lenne a "c", amit az eredeti listához adunk. Ezután az "új" listánkból ciklusonként lehetne törölni az elemeket és elölről kezdődne minden, ahogy a fenti megoldásban is van.

2024. febr. 12. 16:22
Hasznos számodra ez a válasz?
 19/19 anonim válasza:

Megoldásom listával. Van ennél rövidebb implementáció?


List<Integer> numsList = new ArrayList<>();

numsList.add(5);

numsList.add(6);

numsList.add(15);

numsList.add(2);

numsList.add(3);

numsList.add(22);

numsList.add(1);

numsList.add(33);

System.out.println(numsList + "\n");


while (1 < numsList.size()) {

List<Integer> x1AndX2Nums = new ArrayList<>();

for (int j = 0; j < 2; j++) {

int x = numsList.getFirst();

for (int i = 0; i < numsList.size(); i++) {

if (numsList.get(i) < x)

x = numsList.get(i);

}

System.out.println("x" + (j + 1) + ": " + x + " (index: " + numsList.indexOf(x) + ")");

numsList.remove(numsList.indexOf(x));

x1AndX2Nums.add(x);

}

int y = x1AndX2Nums.get(0) + x1AndX2Nums.get(1);

System.out.println("y: " + y);

numsList.add(y);

System.out.println(numsList + "\n");

}

2024. febr. 13. 11:24
Hasznos számodra ez a válasz?
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!