ABA


"עזרה,מציאת פולינדרום מקסימלי בתוך מחרוזת"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21313 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21313
faruz_avi 
חבר מתאריך 27.10.04
11552 הודעות
   00:13   17.06.15   
אל הפורום  
  עזרה,מציאת פולינדרום מקסימלי בתוך מחרוזת  
 
   בהנתן מחרוזת מסוימת,אני יודע לבדוק האם כל המחרוזת היא פולינדרום או לא(ע"י רקורסיה)...איך אני בודק מהי התת מחרוסת המקסימלית המהווה פולינדרום בתוך המחרוזת הנוכחת(גם צריך לממש ע"י רקורסיה)

אבקש רק רעיונות או הצעות חשיבה ולא פתרון ממש
תודה רבה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב The Slayer  17.06.15 01:42 1
  זה מה שבניתי עד כה ועדיין לא עובד faruz_avi  17.06.15 21:55 2
  אם אתה יודע לבדוק שכל המחרוזת היא פולינדרום אז פתרת את הבעיה. ShocKi  17.06.15 22:14 3
     על זה בדיוק חשבתי וככה כתבתי את זה בתוכנית,יכול להיות שחסר עוד כהמ פינשים faruz_avi  17.06.15 22:33 4
  הצלחתי לממש...עשיתי קיאה לא נכונה בנ''ל. תודה לכולם faruz_avi  17.06.15 22:58 5

       
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק
   01:42   17.06.15   
אל הפורום  
  1. מכתב  
בתגובה להודעה מספר 0
 
   אני חושב שאת הפונקציה שבנית תשנה רק בסוף שהיא מחזירה ערך הפולינדרום
כלומר 0 אין פולינדרום ואם יש אז את הערך שלו

עכשיו אתה יכול לבנות פונקציה כללית שאתה שולח לה
מצד אחר את המחזורת פחות תא מימין
ואת המחרוזת פחות התא משמאל
ואז אתה משווה בין התוצאות המתקבלות
ומחזיר את הערך הגדול ביניהם
אולי גם תצטרך משהו סימטרי ולשלוח פחות תא מימין וגם פחות תא משמאל

עם תנאי עצירה מתאים אני מאמין שתסתדר

זה רק כוון כללי
אני מאמין שאפשר לייעל ולעשות זאת בפונקציה אחת
ולא שתי פונקציות


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
faruz_avi 
חבר מתאריך 27.10.04
11552 הודעות
   21:55   17.06.15   
אל הפורום  
  2. זה מה שבניתי עד כה ועדיין לא עובד  
בתגובה להודעה מספר 0
 
   עובד רק למחרוזות שהם פולינדרומים



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   22:14   17.06.15   
אל הפורום  
  3. אם אתה יודע לבדוק שכל המחרוזת היא פולינדרום אז פתרת את הבעיה.  
בתגובה להודעה מספר 0
 
   תחשוב על זה כך: המחרוזת הזאת שאתה יודע לבדוק עליה היא בעצמה יכולה להיות תת מחרוזת של מחרוזת גדולה יותר.

לכן, למעשה יש לך את הפתרון הפנימי של הבעיה. כל מה שנותר לך זה לכתוב פונקציה שמקבלת מחרוזת ומייצרת את כל תתי המחרוזות שלה, ועבור כל תת מחרוזת לקרוא ל IsPalindrome וכמובן להחזיר את המקסימלי.
יש שיטות לייעל את זה כמו למשל לוודא שהפונקציה שמייצרת תתי מחרוזות תתן קודם את המחרוזת בגודל n ואז את כל המחרוזות בגודל n-1 ואז את כל המחרוזות בגודל n-2 וככה ברגע שמצאת פולינדרום אתה עוצר, אין צורך לבדוק את השאר כי עשית בסדר מהגדול לקטן ולכן אין מה לבדוק את השאר ופשוט מחזירים את גודל המחרוזת הנוכחי.

תחפש בגוגל: generate all substrings of a string אתה תמצא מימושים של זה. תבחר פשוט במימוש רקורסיבי שגם מחזיר את המחרוזות בסדר מהגדול לקטן.


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
faruz_avi 
חבר מתאריך 27.10.04
11552 הודעות
   22:33   17.06.15   
אל הפורום  
  4. על זה בדיוק חשבתי וככה כתבתי את זה בתוכנית,יכול להיות שחסר עוד כהמ פינשים  
בתגובה להודעה מספר 3
 
   אבל בגדול רשמתי את זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
faruz_avi 
חבר מתאריך 27.10.04
11552 הודעות
   22:58   17.06.15   
אל הפורום  
  5. הצלחתי לממש...עשיתי קיאה לא נכונה בנ''ל. תודה לכולם  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net