Practice #2
Lição 10 de 13 do curso Pilha - Série Estruturas de Dados #1 da Coddy.
Os próximos desafios foram projetados para usar pilha neles.
A estrutura de dados Stack já está disponível para você — use-a!
Desafio
FácilEscreva uma função nse que recebe um array de inteiros e retorna um array contendo o elemento menor mais próximo de cada elemento (à esquerda). Se não houver um elemento menor à esquerda de um elemento, retorne -1.
Use a Stack fornecida para resolver este problema!
Exemplo:
Entrada: [4, 5, 2, 10, 8]
Saída esperada: [-1, 4, -1, 2, 2]
Experimente você mesmo
#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;
}