... LeetCode Solution, איך לפתור
שאלות ב LeetCode? ראיונות קוד, תרגול ליטקוד, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ראיון טכני,
שאלות חשיבה, איך לפתור בעיות מורכבות? איך לפתח את המוח? איך להתכונן לראיון עבודה בהייטק? תרגול
שאלות ליטקוד כהכנה לראיון, איך להיות מתכנת מחשבים? לעבוד בפיתוח תוכנה, איך למצוא מה בטוח נכון? ללמוד לנתח ... קוד, לפתור חידות היגיון, איך להבין חוקיות? איך למצוא חוקיות? אז מה זה ליטקוד LeetCode? ליטקוד, זה שם של אתר אינטרנט, שמציג
שאלות מראיונות עבודה למשרות של פיתוח תוכנה ותכנות. בעיות שונות בכתיבת קוד וכיוב. לפי רמות קושי נושאים וכולי. בעולם המתכנתים מקובל לומר ש מי שמלטקד לא מפחד. דהיינו, מי שרגיל לפתור
שאלות ליטקוד, לא מפחד מראיונות עבודה. בפועל אנשים שרוצים לעבוד בהייטק במשרות של פיתוח, בדרך כלל הם יתרגלו
שאלות ליטקוד, כדי להתכונן לראיונות עבודה. למה לפתור
שאלות ליטקוד? 1 - כי זה יגרום לך להיות יותר חכם וזה יעזור לך בכל תחומי החיים. 2 - כי זה כיף לאמץ את המוח ... שזה יעזור לך גם לשרוד את העבודה ולא רק להתקבל אליה. אבל זה כבר כפועל יוצא של זה שיש לך יותר שכל. בנוסף חשוב מאוד לציין, כי
שאלות ליטקוד, הן הזדמנות לפתח את החשיבה באופן מדוייק. ויש להן יתרון על פני מאמץ שכלי בתחומים אחרים. כי ... כאשר הפתרון שלנו עובר את כל מצבי הבדיקה TestCase שהם הגדירו לבדוק את הפתרון שלנו. או במילים אחרות, זאת לא רק חוכמה לדעת לפתור
שאלות בליטקוד, אלא זאת גם חוכמה להבין איך לפתור את השאלה בכל מצב אפשרי. וזאת גם חוכמה להבין על כל פתרון, האם ... האתר יבדוק, האם יש דרך יותר יעילה עם פחות פעולות (סיבוכיות זמן ריצה) ופחות משאבי מערכת, שפותרת את הבעיה. מהו השלב הראשון בלפתור
שאלות בליטקוד? השלב הראשון כמובן, הוא להבין את השאלה. כדאי מאוד להבין בדיוק מה שאלו אותנו ולא לרוץ לפתור את ... שהוא יתן תשובה לא נכונה וככה כנראה שהוא עוד יותר ירגיש לא חכם וחוזר חלילה. לכן, שלב ראשון, נסה להבין את השאלה. מה לעשות עם
שאלות שאינן מובנות? לנסות להבין אותן. חלק מהקושי בלפתור
שאלות ליטקוד, הוא להבין את
השאלות. כי גם לדעת
לשאול שאלות בצורה ברורה, גם את זה צריך לדעת. ולא תמיד כותב השאלה, יודע
לשאול את השאלה בצורה ברורה. אבל כמובן שזאת בעיה שלך ולא של
השואל. כי בעולם האמיתי, הרבה פעמים תקבל בעיות לא ברורות וצריך מאמץ להבין את השאלה ואת הבעיה, לא פחות מאשר ... הסברת לו, אבל בהנחה שהוא יעשה בדיוק את מה שתסביר לו, האם הוא יצליח לפתור את הבעיה? ועכשיו נסביר יותר לעומק על תהליכים בפתרון
שאלות ליטקוד לחלק לחלקים אז יש כאן כמה עקרונות, העיקרון המרכזי הוא, לדעת לחלק לחלקים כל חלק מהשאלה שמוצגת ... עצמו ותנסה לפתור אותו בפני עצמו. ואם לא הצלחת, נסה שוב לחלק אותו לחלקים יותר קטנים. ובמהות, נסה לראות את השאלה הגדולה, כאוסף של
שאלות קטנות שמחוברות אחת לשניה. למצוא את החלק הפשוט ביותר והקטן ביותר כאשר אתה מחלק לחלקים, בדרך כלל יעזור ... המקרה היותר מורכב, הוא של 2 איברים. אחר כך של 3 איברים וכן הלאה, עד למקרה הכללי של N איברים. ומהות האמירה שלי היא, שכדי לפתור
שאלות מורכבות, תנסה להיות מטומטם ותנסה ללכת למקרה הכי פשוט שאתה יכול להעלות על דעתך ולפתור קודם כל אותו. את ... ביותר והפשוט ביותר שאתה מסוגל למצוא ותתחיל ממנו. מה בטוח נכון אחרי שאנחנו מחלקים את השאלה לחלקים שונים ומשונים, עכשיו עלינו
לשאול , האם בין כל
השאלות הקטנות שעומדות בפנינו, האם יש שאלה שאנחנו חושבים שיש לנו תשובה לשאלה הזאת, אבל שהתשובה הזאת נכונה במאה ... ביותר או לפני שאתה מנסה לייעל את פתרון השאלה, קודם כל תנסה לפתור את השאלה בצורה כלשהי, גם אם היא לא יעילה. כי יותר קל לפתור
שאלות בצורה לא יעילה מאשר בצורה הכי יעילה. ולכן צריכים להתחיל בצורה קלה, דהיינו, לפתור את
השאלות בצורה כלשהי, לפני שמנסים לייעל את התהליך. איך לייעל זמן ריצה? בעיקרון יעול זמן הריצה, מתבצע באמצעות שינוי בלוגיקה של הפתרון. ובמהות של ההתייעלות, זה לנסות לעבור על התהליך הלא יעיל כולו מהתחלה עד הסוף ועל כל פעולה,
לשאול, האם אני חושב שיש אפשרות לחסוך איכשהו את הפעולה הזאת? מה הפעולה הזאת מנסה להשיג? אולי יש דרך יותר קצרה ...