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

كيف يمكنني تحديد ما إذا كانت شريحة من الأعداد الصحيحة بكفاءة هي مجموعة فرعية من مجموعة أخرى في GO باستخدام خريطة؟

نشر في 2025-03-25
تصفح:320

How can I efficiently determine if one slice of integers is a subset of another in Go using a map?

مجموعة فرعية تحقق مع شرائح integer في GO باستخدام MAP

تقدم هذه المقالة حلًا يستخدم خريطة لتحسين الشيك. على سبيل المثال ، {1 ، 2 ، 3} هي مجموعة فرعية من {1 ، 2 ، 3 ، 4} ، في حين أن {1 ، 2 ، 2} ليست مجموعة فرعية من {1 ، 2 ، 3 ، 4}. يقوم ببناء خريطة من الشريحة الثانية ، مع حساب كل عنصر كقيمة. بعد ذلك ، يتكرر عبر الشريحة الأولى ويتحقق من وجود كل عنصر في الخريطة. إذا تم العثور على جميع العناصر بتكرارات كافية ، فإن الشريحة الأولى تعتبر مجموعة فرعية. // إرجاع المجموعة الفرعية بشكل صحيح إذا كانت الصفيف الأول بالكامل // الواردة في الصفيف الثاني. يجب أن يكون هناك على الأقل // نفس عدد القيم المكررة في الثانية كما هو الحال هناك // في البداية. مجموعة فرعية Func (أولاً ، ثانية [] int) Bool { SET: = Make (MAP [int] int) ل _ ، القيمة: = المدى الثاني { تعيين [القيمة] } لـ _ ، القيمة: = المدى الأول { إذا العد ، موافق: = set [value] ؛ !نعم { العودة كاذبة } آخر إذا عد

إخراج FALSE

الاستنتاج

يحدد هذا الحل المستند إلى الخريطة بكفاءة ما إذا كانت شريحة عدد صحيح هي مجموعة فرعية من قيم أخرى محتملة. إنه يوفر نهجًا محسّنًا لحل هذه المشكلة الشائعة في GO.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3