Sikerült előállnom egy önálló, működő megoldással, de a 10 perc, meg a papír nem lett volna elég, úgyhogy amúgy is bukott volna az állás. A változatosság kedvéért C++-ban, mert winfoson nincs Python.int max2nd(int* a, int len_a) {
if (len_a <= 1) return NULL;
int max = INT_MIN;
int lastmax = INT_MIN;
int count = 0;
for (int i = 0; i < len_a; i++) {
if (a[i] > max) {
lastmax = max;
max = a[i];
count++;
}
if (a[i] > lastmax and a[i] < max) lastmax = a[i];
}
if (count == 1 and lastmax == INT_MIN) return NULL; // vagyis ha a a belső if csak egyszer futott le, a lastmax értéke pedig nem változott
return lastmax;
}
az and, or, xor, not a &&, ||, ^, ! helyett C++-ban valid. Én szeretem használni, mert úgy olvashatóbb a kód. |