Menu
CoddyTech

Remove K Digits

لديك عدد غير سالب مكتوب كسلسلة من الأرقام، num، وعدد صحيح k. احذف k أرقام بالضبط واحتفظ بالباقي بترتيبها الأصلي، بحيث يكون العدد المتبقي أصغر ما يمكن.

أعِده كسلسلة من دون أصفار بادئة. إذا لم يتبقَّ شيء، أو لم يتبقَّ سوى أصفار، فأعِد "0".

الدالة

removeKdigits(num: string, k: integer) → string
numstring
العدد، مكتوبًا كسلسلة من الأرقام
kinteger
كم عدد الأرقام التي يجب حذفها
تُرجعstring
أصغر عدد يمكنك تركه كسلسلة نصية من دون أصفار بادئة

القيود

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • num يحتوي على الأرقام من 0 إلى 9 فقط.
  • لا يحتوي num على أصفار بادئة، إلا إذا كان هو العدد صفرًا نفسه، "0".

أمثلة

المدخلات
num = "4325043"k = 3
المخرجات
"2043"
الشرح
يؤدي حذف الرقم 4 والرقم 3 الأول إلى وضع الرقم 2 في المقدمة. لا يمكن أن يأتي الرقم 0 في المقدمة: فهناك أربعة أرقام تسبقه، ولديك ثلاث عمليات حذف. تحذف العملية الأخيرة الرقم 5، الذي يقع قبل رقم 0 أصغر منه.
challenge icon

سؤال إضافي

كيف ستغيّر الحل لإزالة k أرقام وترك أكبر عدد بدلاً من ذلك؟

إعادة ضبط الشيفرة
def removeKdigits(num, k):
    # اكتب الكود هنا

اختبار #1

اختبار #2

اختبار #3

الوسائط

num = "4325043"
k = 3

الإخراج المتوقع

"2043"