Menu
Coddy logo textTech

Practice #2

Leçon 10 sur 13 du cours La pile - Série sur les structures de données n°1 de Coddy.

Les prochains défis sont conçus pour utiliser une pile .

La structure de données Stack est déjà fournie pour vous — utilisez-la !

challenge icon

Défi

Facile

Écrivez une fonction nse qui reçoit un tableau d'entiers et renvoie un tableau contenant le plus proche élément plus petit (nearest smaller element) de chaque élément (à sa gauche). S'il n'y a pas d'élément plus petit à la gauche d'un élément, renvoyez -1.

Utilisez la pile Stack fournie pour résoudre ce problème !

Exemple :

Entrée : [4, 5, 2, 10, 8]

Sortie attendue : [-1, 4, -1, 2, 2]

Essayez vous-même

#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;
}

Toutes les leçons de La pile - Série sur les structures de données n°1