Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Practice #2

الدرس 10 من 13 في دورة Stack - سلسلة هياكل البيانات #1 على Coddy.

تم تصميم التحديات التالية لاستخدام stack فيها.

بنية البيانات Stack متوفرة لك بالفعل — استخدمها!

challenge icon

التحدي

سهل

اكتب دالة nse تستقبل مصفوفة من الأعداد الصحيحة وتُرجع مصفوفة تحتوي على أقرب عنصر أصغر لكل عنصر (إلى اليسار). إذا لم يكن هناك عنصر أصغر إلى يسار العنصر، فقم بإرجاع -1.

استخدم الـ Stack المتوفر لحل هذه المشكلة!

مثال:

المدخلات: [4, 5, 2, 10, 8]

المخرجات المتوقعة: [-1, 4, -1, 2, 2]

جرّب بنفسك

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

جميع دروس Stack - سلسلة هياكل البيانات #1