<div class="task-content"> <p>قم بإنشاء فئة "متتبع المهام" مع أولويات.</p> </div>

TypeScript Medium classes

مهمة «<div class="task-content"> <p>قم بإنشاء فئة "متتبع المهام" مع أولويات.</p> </div>»

قم بتنفيذ الفئة TaskTracker التي تدير قائمة من المهام مع أولويات (رقم من 1 إلى 5، حيث 1 هي الأعلى أولوية). يجب أن تحتوي الفئة على الطرق التالية: addTask(id, priority) — تضيف مهمة بالمعرّف (id) المحدد (سلسلة نصية) والأولوية؛ removeTask(id) — تزيل المهمة حسب المعرّف؛ getTask(id) — تُرجع أولوية المهمة أو null إذا لم تكن موجودة؛ getHighestPriority() — تُرجع معرّف المهمة ذات الأولوية الأعلى (أقل رقم). إذا كان هناك عدة مهام — قم بإرجاع المعرّف الذي تمت إضافته أولاً. إذا لم تكن هناك مهام — قم بإرجاع null. قم بتنفيذ الطرق دون استخدام وظائف الفرز المضمنة، باستخدام بنية بيانات من اختيارك.

تنسيق الإدخال

السطر الأول: الرقم N — عدد الأوامر. بعد ذلك، N من الأسطر، كل سطر يحتوي على أمر: add id priority, remove id, get id, highest.

تنسيق الإخراج

لكل أمر `get` و `highest`، اطبع النتيجة في سطر منفصل. بالنسبة لـ `get` — رقم (الأولوية) أو `null`، وبالنسبة لـ `highest` — `id` أو `null`.

أمثلة

مثال 1

الإدخال
4 add a 5 add b 5 highest remove a highest
الإخراج
a
main.ts