التكنولوجيا لتحسين عملية تدريجية، لذلك أنا أتكلم الأسئلة خوارزمية leetcode من أبسط مستوى بدأت في الكتابة، ومن ثم إلى صعوبة وسيطة، وانتهت أخيرا كل الصعوبة الصعبة.
حاليا اخترت C لغة، بايثون وجافا كلغة التنفيذ، لأن هذه اللغات الثلاث هي الحال تماما. نظرا لضيق المساحة والطاقة لتحقيق غات أخرى الأصدقاء الذين يهتمون، يرجى انها محاولة لنفسك.
صعوبة الأولية تتحدث عن نفس الوقت، وانا ذاهب لإضافة بعض الأشياء الأخرى، يمكن أن أتحدث إلى مكدس البروتوكول من نظام التشغيل إلى البيانات الموزعة كبيرة من الإطار، والحديث من البيانات الكبيرة إلى الذكاء الاصطناعي، ... ....
إذا كان لديك أي أسئلة أو تعليقات بعد الحرف الخاص المادة لي .
سأستمر في المشاركة فيها، يرجى انتباهكم.
LeetCode 387. السلسلة الأولى ذات طابع فريد (الأحرف الأولى فريدة من نوعها في سلسلة)
وصف المشكلة:
وبالنظر إلى سلسلة، والعثور على أول أحرف تكرار غير لها، ويعود مؤشره. إذا لم يكن كذلك، فإنها ترجع -1.
ملاحظة: يمكنك أن تفترض أن السلسلة تحتوي على حروف فقط صغيرة.
على سبيل المثال:
C لغة:
الغريزة الأولى لاجتياز السلسلة بأكملها، حساب عدد المرات التي يظهر فيها كل حرف، ثم أعاد لإيجاد أول مرة منخفض تظهر سلسلة من الرسائل. تعقيد هذه الخوارزمية O (ن)، للدورتين لتنفيذ.
ولكن أريد أن نحل هذه المشكلة في دورة واحدة. اكتشفت أنه في الحقيقة يمكننا استخدام الطريقة المستخدمة سابقا، يمكن أن نجد من كلا الجانبين في نفس الوقت سلسلة من 26 حرفا كل حرف في أقصى اليسار وأقصى اليمين موقف سلسلة، لذلك هناك ثلاث حالات:
كود هي كما يلي:
نحن نستخدم المدمج في وظائف وstrrchr strchr على التوالي من اليمين واليسار لتجد كل حرف، تقوم الدالة بإرجاع مؤشر، ثم الفرق بين المؤشر ويتم إرجاع منخفض الصورة.
تنفيذ الثعبان اللغة:
C التنفيذ المتسق وتحقيق الثعبان.
كود هي كما يلي:
تنفيذ لغة جافا:
جافا ولغة C لتحقيق الأساس نفسه.
كود هي كما يلي: