<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