View Single Post
ישן 07-03-10, 11:17   # 3
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 38
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

אני היית ממיין תחילה את הרשימה לפי סדר עולה (או יורד, לא משנה).
לאחר מכן לבדוק קיצונים ולראות כמה רחוק אתה מהמספר שאתה צריך.
לפי זה להמשיך האלה ע"י בחירה חכמה של האיברים.

אם לדוגמא יש לך
1,4,10,13,18,20
ואתה צריך להגיע ל-15 לצורך העניין, חבל לרוץ על כל האפשרויות.
אם אתה רוצה ש- 20-1=19, אז אפשר לנסות 20-4 או 18-1 ולראות מה יותר מתאים לך. ברור ש-20-4 מקרב אותך יותר, ובמקרה הזה אתה שוב בודק לפי אותו האלגוריתם.

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

מחשבה אחרת שיש לי שלא למדעתי מספיר אבל לדעתי זה כיוון שאפשר לחקור הוא עצים בינארים. תוך שימוש בעץ בינארי אתה יכול לבצע את זה יותר מהר לדעתי.
  Reply With Quote