Ćwiczenie #2
Lekcja 10 z 13 w kursie Stos — struktury danych, część 1 w Coddy.
Kolejne wyzwania zostały zaprojektowane z myślą o użyciu w nich stosu .
Struktura danych Stack jest już dla Ciebie dostępna — użyj jej!
Wyzwanie
ŁatwyNapisz funkcję nse, która otrzymuje tablicę liczb całkowitych i zwraca tablicę zawierającą najbliższy mniejszy element dla każdego elementu (po lewej stronie). Jeśli po lewej stronie elementu nie ma mniejszego elementu, zwróć -1.
Użyj dostarczonego stosu, aby rozwiązać ten problem!
Przykład:
Dane wejściowe: [4, 5, 2, 10, 8]
Oczekiwany wynik: [-1, 4, -1, 2, 2]
Spróbuj swoich sił
#include <stdio.h>
#include <stdlib.h>
#include "nse.h"
int main() {
int* a = (int*)malloc(sizeof(int) * 1000);
int aSize = 0;
int x;
while (scanf("%d", &x) == 1) {
a[aSize++] = x;
}
int returnSize;
int* result = nse(a, aSize, &returnSize);
for (int i = 0; i < returnSize; i++) {
printf("%d\n", result[i]);
}
free(a);
return 0;
}
Wszystkie lekcje w sekcji Stos — struktury danych, część 1
Poćwicz samodzielnie: Kompilator C online