مجموعة فرعية تحقق مع شرائح 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