Menu
Coddy logo textTech

Practice #2

Leçon 10 sur 13 du cours 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 de chaque élément (à sa gauche). S'il n'y a pas d'élément plus petit à gauche d'un élément, renvoyez -1.

Utilisez la classe 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 Pile - Série sur les structures de données n°1