"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنك العثور على أقرب رقم في القائمة لقيمة معينة؟

كيف يمكنك العثور على أقرب رقم في القائمة لقيمة معينة؟

تم النشر بتاريخ 2024-11-19
تصفح:720

How do you find the closest number in a list to a given value?

البحث عن أقرب رقم في القائمة إلى قيمة معينة

بالنظر إلى قائمة الأعداد الصحيحة والرقم المستهدف، فإن المهمة هي العثور على الرقم في القائمة الذي هو الأقرب إلى الهدف. يمكن حل هذه المشكلة باستخدام طرق مختلفة:

استخدام Min Distance

إذا لم يكن ترتيب العناصر في القائمة مضمونًا، فيمكن استخدام الدالة min() مع المعلمة الرئيسية. تبحث هذه الطريقة عن الحد الأدنى للمسافة بين كل عنصر والهدف، وتعيد العنصر ذو الحد الأدنى للمسافة:

def takeClosest(myList, myNumber):
    return min(myList, key=lambda x: abs(x - myNumber))

استخدام البحث الثنائي (طريقة التنصيف)

إذا كان من المعروف أن القائمة تم فرزها، فيمكن تطبيق البحث الثنائي للعثور على أقرب رقم بشكل أكثر كفاءة في O(log n) time:

def takeClosest(myList, myNumber):
    low = 0
    high = len(myList) - 1
    while low 
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3