4 תשובות
וואו למה לעזאזל עשית רקורסיה. נראה לי סבבה סה"כ.
הקוד עשוי היטב, נראה נקי אך הוא אינו הפתרון, כמה חבל... 4 במדד שלנו.
אנונימי
שואל השאלה:
אינו הפתרון? דווקא נראה לי שכן.
אינו הפתרון? דווקא נראה לי שכן.
אנונימי
סעיף א' - למה להעתיק את התור? פשוט מצביעים ל2 התורים ולעבור בלולאה על גודל תור אחד (אחרי שווידאנו שיש להם את אותו הגודל) ולהשוות ערכים. הפתרון שלך יעבוד במקרה זה אבל אם יש דגש על סיבוכיות מקום/זמן ריצה, התשובה שלך פחות יעילה.
סעיף ב' - גם כאן התשובה שלך תעבוד אבל אפשר להפוך את זה לקצת יותר אלגנטי אם בוחרים ברקרוסיה. קודם כל אין למה לבדוק ברקורסיה ש-size(q1)!=size(q2), תבדוק את זה בפונקציה הראשית issimilar לפי שאתה קורא לפונקציית עזר. אבל שים לב שגם את זה לא צריך לעשות! פשוט תעשה בדיקה ראשונית של isidentical ב-issimilar.
בגדול אני חושב שלא התכוונו שתעשו את זה ברקורסיה, ושתשימו לב שאם נעשה "העברה מההתחלה לסוף" size(q( פעמים, בוודאות זה יספיק. (כי נסגור מעגל). לכן אפשר פשוט לרוץ בלולאה, כל פעם להוציא ולהכניס ולבדוק isidentical.
בהצלחה.
סעיף ב' - גם כאן התשובה שלך תעבוד אבל אפשר להפוך את זה לקצת יותר אלגנטי אם בוחרים ברקרוסיה. קודם כל אין למה לבדוק ברקורסיה ש-size(q1)!=size(q2), תבדוק את זה בפונקציה הראשית issimilar לפי שאתה קורא לפונקציית עזר. אבל שים לב שגם את זה לא צריך לעשות! פשוט תעשה בדיקה ראשונית של isidentical ב-issimilar.
בגדול אני חושב שלא התכוונו שתעשו את זה ברקורסיה, ושתשימו לב שאם נעשה "העברה מההתחלה לסוף" size(q( פעמים, בוודאות זה יספיק. (כי נסגור מעגל). לכן אפשר פשוט לרוץ בלולאה, כל פעם להוציא ולהכניס ולבדוק isidentical.
בהצלחה.
באותו הנושא: