... פתרון ליטקוד, LeetCode Solution,
לפתור שאלות בLeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח ... במאמץ של מציאת התשובה. אז איך ניגשים
לפתור את זה? אז כמובן שעלינו לנסות לחלק את התהליך לחלקים כמה שיותר קטנים. ועלינו לנסות לשחק קצת עם כל מיני אפשרויות בצורה ידנית, לפני שאנחנו מנסים למצוא את החוקיות של ... כלשהי ובהתאם לכך, ננסה לבנות נוסחה כלשהי
לפתור את השאלה. אז בשלב הראשון, ננסה לחלק לחלקים קטנים. נתנו לנו 3 חוקים שמגדירים מהי סיסמא חזקה. עלינו לנסות להבין האם אנחנו יודעים
לפתור את השאלה, בהינתן רק חוק 1. דהיינו, במקום לנסות להבין איך
לפתור את השאלה כשיש 3 חוקים, נשאל את עצמנו את השאלה הבאה: נניח שנותנים לנו סיסמא, ויש לנו רק חוק 1 שאומר, שהסיסמא צריכה להיות בין 6 לבין 20 תווים. האם היינו יודעים כמה ... להיות לפחות 6 תווים. האם היינו יודעים
לפתור את המקרה הזה? וגם כאן אפשרי להתחיל מצורת שאלה עוד יותר פשוטה: נניח סיסמא חייבת להכיל לפחות תו 1 בלבד. האם היינו יודעים איך
לפתור שאלה כזו? זה המקרה הפשוט ביותר שעלינו לנסות להתחיל
לפתור ממנו. ומאחר שמטרת המאמר היא לא ללמד את הפתרון של השאלה, אלא כן ללמד איך אפשרי למצוא את הפתרון לשאלה. ומאחר שכדי למצוא את הפתרון לשאלה, צריכים ללמוד לחלק לחלקים הכי ... לגשת לנתח את השאלה הזאת: האם אני יודע
לפתור את השאלה במקרה שיש רק חוק 1 שאומר ש: הסיסמא צריכה להיות באורך של לפחות תו 1 הסיסמא צריכה להיות באורך של לפחות 2 תווים הסיסמא צריכה להיות באורך של לפחות 3 תווים הסיסמא ... של לפחות X תווים אם כן, אז האם אני יודע
לפתור את השאלה במידה ו: הסיסמא צריכה להיות באורך של לפחות 6 תווים ועד כאן אני מניח שהתשובה ברורה, והיא שעלינו לבדוק את אורך הסיסמא (=N) ואם אורך הסיסמא קטן מX (אורך ... לא יותר מX תווים אם כן, אז האם אני יודע
לפתור את השאלה במידה ו: הסיסמא צריכה להיות באורך של לא יותר מ20 תווים וגם עד כאן אני מניח שהתשובה ברורה, והיא שעלינו לבדוק את אורך הסיסמא (=N) ואם אורך הסיסמא גדול מX (אורך ... כסיסמא חזקה. ועכשיו נשאל, האם אני יודע
לפתור את השאלה במידה ויש חוק 1 שאומר, שהסיסמא אסור לה להיות פחות מX (אורך מינימאלי) תווים ולא יותר מY (אורך מקסימאלי) תווים? וגם כאן אפשרי להניח התשובה היא שכן, אם יש פחות ... זה לחלקים קטנים. אז נשאל, האם אני יודע
לפתור את השאלה במידה ויש רק חוק 1 שאומר שהסיסמא צריכה להכיל אות 1 קטנה. בלי להתייחס לאות גדולה או מספר. ונחלק לחלק יותר קטן, איך נפתור את השאלה, במידה ויש חוק שאומר שהסיסמא ... אות אחת ספציפית, כי זה מקרה שיותר קל
לפתור. כי יותר קל לדעת אם הסיסמא מכילה אות 1 ספציפית, מאשר לדעת אם הסיסמא מכילה אות 1 קטנה כלשהי. וגם יותר קל להבין שצריכים להוסיף אות 1 ספציפית אם היא חסרה, מאשר לחשוב ... 3 תווים או יותר רצופים. ונשאל, האם נדע
לפתור מקרה לדוגמא שאסור שיהיה תו ספציפי רצוף, לדוגמא AAA? והתשובה היא, שאם לדוגמא יש לנו AAA עלינו או למחוק A אחד וישאר רק AA או להחליף תו אחד לדוגמא A1A או 1AA או AA1 ... פעולה של מחיקה בלבד. האם היינו יודעים
לפתור את כל המצבים? האם היינו יכולים
לפתור פעולות של סיסמא קצרה? תשובה: לא. האם היינו יודעים
לפתור מצב של סיסמא ארוכה: כן. האם היינו יודעים
לפתור מצב של תווים חסרים? תשובה: לא. האם היינו יודעים
לפתור מצב של תווים רצופים? תשובה: כן. ואם היתה רק פעולה אחת אפשרית של הוספה? אז היינו יכולים
לפתור מצב של סיסמא קצרה, לא היינו יכולים
לפתור מצב של סיסמא ארוכה מידי. כן היינו יכולים
לפתור מצב של תווים חסרים או רצופים. ואם היתה רק פעולה אחת אפשרית של החלפה? אז לא היינו יכולים
לפתור בעיה של אורך. אבל כן היינו יכולים
לפתור בעיה של תווים חסרים או רצופים. ואם היו רק 2 פעולות של מחיקה והוספה? אז היינו יכולים
לפתור את כל המצבים. ואם היו רק 2 פעולות של מחיקה והחלפה? לא היינו יכולים
לפתור מצב של סיסמא קצרה מידי. או במילים אחרות ננסה לבדוק את כל החוקים ואת כל המצבים, במקרה שיש רק פעולה אחת אפשרית של הוספה או מחיקה או החלפה. ובמקרה שיש רק 2 פעולות ... קודם כל צריכים לנסות לראות אם יודעים
לפתור את השאלה, במקרה הפשוט ביותר, בלי שום חוקיות, בלי שום נוסחה, בלי שום מורכבות. רק אחרי שאנחנו מסוגלים
לפתור את השאלה ידנית, בלי חוקיות, בלי נוסחה בלי כלום, במקרה הכי פשוט. עכשיו ננסה
לפתור את השאלה בצורה קצת יותר מורכבת. אז האם אנחנו נדע