שאלות ליטקוד קשות, LeetCode Hard problems, איך לפתור את
שאלות ליטקוד הכי קשות שיש? איך לפתור
שאלות שאין להן תשובה? איך לפתור
שאלות שאי אפשר לפתור אותן? איך לפתור
שאלות ליטקוד שאין להן פתרון? איך לנתח
שאלות חשיבה? איך ללמוד תכנות מחשבים? איך ללמוד מדעי המחשב? פתרון סיבוכיות זמן ריצה, ראיונות טכניים בתוכנה,
שאלות טכניות לראיון עבודה בהייטק, איך להתכונן לראיונות ליטקוד? איך להתכונן לראיון עבודה בהייטק? ליטקוד בעברית, Hebrew LeetCode, חידות היגיון כאשר אנחנו ... שיעבוד בדרך הקצרה ביותר והיעילה ביותר מבחינת צריכת משאבים וכולי. וכדי לפתור שאלת ליטקוד בצורה נכונה, עלינו לנסות להבין את
השאלה וכולי ולמצוא את החוקיות שבה ניתן לפתור את
השאלה, בצורה היעילה ביותר. אבל ישנם מצבים, שבהם אין איזו חוקיות כלשהי ושאין איזה קיצור דרך כלשהו שיכול לפתור את הבעיה. ישנם מצבים שבהם לדוגמה באמת צריך לעבור ולבדוק את כל המקרים האפשריים ושאין בהם איזה טריק שיכול לעבור על כל המצבים באיזה קיצור דרך.
והשאלה היא, איך בעצם צריכים להתמודד עם
שאלות כאלו, שאנחנו לא מוצאים להם איזו חוקיות שאיתה יהיה ניתן לעשות איזה קיצור דרך ולקצר את זמני הריצה? והתשובה היא, שאכן ישנן
שאלות שיש אפשרות למצוא להן קיצור דרך כדי לקצר את זמני הריצה וכולי, אבל ישנן
שאלות שאכן באמת אין אפשרות לקצר בהן את זמני הריצה וכיוב. וכאשר אנחנו מגיעים
לשאלה שאנחנו לא מוצאים איזה קיצור דרך איך לקצר את זמני הריצה, הרי שעלינו לקחת כל
השאלה ולחלק אותה לחלקים ולתתי תהליכים. ועבור כל תהליך בפתרון של
השאלה, עלינו להתייחס אליו בנפרד, ועלינו לראות אולי כן יש איזה קיצור דרך חלקי לתת תהליך כלשהו, בפתרון המלא של
השאלה. דהיינו, גם אם באמת אין איזה קיצור דרך שיקצר באופן רציני את זמן הריצה, אולי יש איזה קיצור דרך שיקצר חלק כלשהו בפתרון
השאלה. דהיינו, 1- קח את
השאלה, תחלק אותה לחלקים, ותמצא קיצור דרך גם לחלק מתתי התהליכים, גם זה טוב. גם אם התהליך הראשי של הפונקציה, לא ניתן למצוא לו קיצור דרך. עניין נוסף, גם קיצור ... חישבנו אותן קודם לכן וכיוב. במילים אחרות, גם קיצור דרך חלקי, גם הוא טוב. דהיינו: 1 - חפש קיצורי דרך גם לתתי חלקים בפתרון
השאלה. 2 - חפש קיצרי דרך חלקיים שעוזרים אפילו קצת לפתרון
השאלה. נקודה נוספת שצריכים לקחת בחשבון, שהיא אולי הקריטית ביותר כאשר פותרים
שאלה שאין לה איזה טריק שאפשרי לפתור אותה, הוא שמי שפותר
שאלה בלי קיצור דרך ובלי טריק, הוא חייב להיות מסוגל להוכיח שאין אפשרות לקיצור דרך. דהיינו, אם לדוגמה הגעת
לשאלה שאתה לא מוצא איזו חוקיות כלשהי לפתור את כל המקרים האפשריים, בלי לעבור על כל המקרים האפשריים, הרי שעליך להיות מסוגל להוכיח שאין אפשרות למצוא קיצור דרך ... בדרך מאוד קצרה. אבל לפעמים התשובה הנדרשת, היא היכולת להוכיח שאין קיצור דרך ולהוכיח שהפתרון שלך, אין אפשרות לפתור את
השאלה, בצורה שיותר טובה ממנו. לסיכום: אם הגעת לשאלת ליטקוד שאתה לא מצליח למצוא לה איזה פתרון בקיצור דרך לזמני הריצה וכיוב, אז עליך להוכיח שאין אפשרות למצוא קיצור דרך, להסביר, למה אין אפשרות למצוא קיצור דרך. ולאחר מכן למצוא את כל קיצורי הדרך שכן אפשרי למצוא לחלקים בתוך פתרון
השאלה.