3264. حالة الصفيف النهائية بعد عمليات الضرب K i
الصعوبة: سهلة
الموضوعات: صفيف ، رياضيات ، كومة (قائمة انتظار الأولوية) ، محاكاة
يتم إعطاؤك مجموعة عدد صحيح ، عدد صحيح K ، ومضاعف عدد صحيح.
تحتاج إلى إجراء عمليات K على NUMS. في كل عملية:
return صفيف عدد صحيح يدل على الحالة النهائية للرقم بعد أداء جميع عمليات K .
مثال 1:
| العملية | النتيجة |
| ------------------- | ----------------- |
| بعد العملية 1 | [2 ، 2 ، 3 ، 5 ، 6] |
| بعد العملية 2 | [4 ، 2 ، 3 ، 5 ، 6] |
| بعد العملية 3 | [4 ، 4 ، 3 ، 5 ، 6] |
| بعد العملية 4 | [4 ، 4 ، 6 ، 5 ، 6] |
| بعد العملية 5 | [8 ، 4 ، 6 ، 5 ، 6] |
مثال 2:
| العملية | النتيجة |
| ------------------- | ----------------- |
| بعد العملية 1 | [2 ، 2 ، 3 ، 5 ، 6] |
| بعد العملية 2 | [4 ، 2 ، 3 ، 5 ، 6] |
| بعد العملية 3 | [4 ، 4 ، 3 ، 5 ، 6] |
| بعد العملية 4 | [4 ، 4 ، 6 ، 5 ، 6] |
| بعد العملية 5 | [8 ، 4 ، 6 ، 5 ، 6] |
قيود:
تَلمِيح:
حل:
نحتاج إلى تنفيذ العمليات كما هو موضح في بيان المشكلة. تتمثل الخطوات الرئيسية في العثور على الحد الأدنى من القيمة في الصفيف ، واستبدلها بالقيمة مضروبة في المضاعف المحدد ، ثم كرر هذه العملية.
بالنظر إلى أننا بحاجة إلى تحديد الحدوث الأول للحد الأدنى من القيمة واستبداله ، يمكننا التعامل مع هذا من خلال تتبع فهرس القيمة الدنيا أثناء كل عملية. سيستخدم تطبيق PHP قائمة انتظار الأولوية (Min-Heap) لاسترداد وتحديث القيمة الدنيا أثناء كل عملية.
دعنا ننفذ هذا الحل في PHP: 3264. حالة الصفيف النهائية بعد عمليات الضرب K
لحالات الاختبار المقدمة:
مدخل:
$nums = [2, 1, 3, 5, 6]; $k = 5; $multiplier = 2;
الإخراج:
Output: [8, 4, 6, 5, 6]
مدخل:
$nums = [1, 2]; $k = 3; $multiplier = 4;
الإخراج:
Output: [16, 8]
تعقيد الوقت :
يستخدم الحل
o (1)
إذا وجدت هذه السلسلة مفيدة ، فيرجى التفكير في إعطاء المستودع نجمة على github أو مشاركة المنشور على شبكاتك الاجتماعية المفضلة؟ إن دعمك يعني الكثير بالنسبة لي!
إذا كنت تريد المزيد من المحتوى المفيد مثل هذا ، فلا تتردد في متابعتي:
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3