חידת LeetCode Solution - Strong Password Checker, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח תוכנה, איך לכתוב קוד? ללמוד לכתוב קוד, חידות היגיון, ללמוד לחשוב, ללמוד לנתח דברים, ללמוד לפרק לגורמים, ללמוד לחלק לחלקים, ללמוד למצוא חוקיות, איך לחלק לחלקים? איך למצוא חוקיות? איך לנתח תהליכים?חידת LeetCode Solution - Strong Password Checker, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ... לעיל, אבל כאן העדפתי לחסוך את המאמץ של הבנת השאלה ולנסות להתמקד במאמץ של מציאת התשובה. אז איך ניגשים לפתור את זה? אז כמובן שעלינו לנסות לחלק את התהליך לחלקים כמה שיותר קטנים. ועלינו לנסות לשחק קצת עם כל ... ביותר, אחר כך של מקרים יותר מורכבים. אחר כך ננסה למצוא חוקיות כלשהי ובהתאם לכך, ננסה לבנות נוסחה כלשהי לפתור את השאלה. אז בשלב הראשון, ננסה לחלק לחלקים קטנים. נתנו לנו 3 חוקים שמגדירים מהי סיסמה חזקה. עלינו לנסות להבין האם אנחנו יודעים לפתור את השאלה, בהינתן רק חוק 1. דהיינו, במקום לנסות להבין איך לפתור את השאלה כשיש 3 חוקים, נשאל את עצמנו את השאלה הבאה: נניח שנותנים לנו סיסמה, ויש לנו רק חוק ... פתרון, הוא, מה קורה אם יש רק חוק 1 שאומר, שסיסמה צריכה להיות לפחות 6 תווים. האם היינו יודעים לפתור את המקרה הזה? וגם כאן אפשרי להתחיל מצורת שאלה עוד יותר פשוטה: נניח סיסמה חייבת להכיל לפחות תו 1 בלבד. האם היינו יודעים איך לפתור שאלה כזו? זה המקרה הפשוט ביותר שעלינו לנסות להתחיל לפתור ממנו. ומאחר שמטרת המאמר היא לא ללמד את הפתרון של השאלה, אלא כן ללמד איך אפשרי למצוא את הפתרון ... אני אציג כאן רצף של שאלות, מהקל אל הכבד, איך אמורים לגשת לנתח את השאלה הזאת: האם אני יודע לפתור את השאלה במקרה שיש רק חוק 1 שאומר ש: הסיסמה צריכה להיות באורך של לפחות תו 1 הסיסמה צריכה ... באורך של לפחות 3 תווים הסיסמה צריכה להיות באורך של לפחות X תווים אם כן, אז האם אני יודע לפתור את השאלה במידה ו: הסיסמה צריכה להיות באורך של לפחות 6 תווים ועד כאן אני מניח שהתשובה ברורה, והיא ... מ 3 תווים הסיסמה צריכה להיות באורך של לא יותר מ X תווים אם כן, אז האם אני יודע לפתור את השאלה במידה ו: הסיסמה צריכה להיות באורך של לא יותר מ 20 תווים וגם עד כאן אני מניח ... דהיינו, נצטרך לעשות 13 פעולות של מחיקה כדי לגרום לסיסמה להיות תקינה כסיסמה חזקה. ועכשיו נשאל, האם אני יודע לפתור את השאלה במידה ויש חוק 1 שאומר, שהסיסמה אסור לה להיות פחות מ X (אורך מינימלי) תווים ולא יותר ... 1 גדולה + מספר 1. וננסה להבין איך אפשרי לחלק את זה לחלקים קטנים. אז נשאל, האם אני יודע לפתור את השאלה במידה ויש רק חוק 1 שאומר שהסיסמה צריכה להכיל אות 1 קטנה. בלי להתייחס לאות גדולה או ... כלשהי, אלא כן נשאל על מקרה יותר פשוט, שהסיסמה צריכה להכיל אות אחת ספציפית, כי זה מקרה שיותר קל לפתור. כי יותר קל לדעת אם הסיסמה מכילה אות 1 ספציפית, מאשר לדעת אם הסיסמה מכילה אות 1 קטנה כלשהי. ... וכולי. ועכשיו נעבור לחוק מספר 3 שאומר, שסיסמה לא יכולה להכיל 3 תווים או יותר רצופים. ונשאל, האם נדע לפתור מקרה לדוגמה שאסור שיהיה תו ספציפי רצוף, לדוגמה AAA? והתשובה היא, שאם לדוגמה יש לנו AAA עלינו או למחוק ... בדיקות ידניות, ולחלק לחלקים בצורה הבאה: נניח שהיתה רק פעולה אחת אפשרית, פעולה של מחיקה בלבד. האם היינו יודעים לפתור את כל המצבים? האם היינו יכולים לפתור פעולות של סיסמה קצרה? תשובה: לא. האם היינו יודעים לפתור מצב של סיסמה ארוכה: כן. האם היינו יודעים לפתור מצב של תווים חסרים? תשובה: לא. האם היינו יודעים לפתור מצב של תווים רצופים? תשובה: כן. ואם היתה רק פעולה אחת אפשרית של הוספה? אז היינו יכולים לפתור מצב של סיסמה קצרה, לא היינו יכולים לפתור מצב של סיסמה ארוכה מידי. כן היינו יכולים לפתור מצב של תווים חסרים או רצופים. ואם היתה רק פעולה אחת אפשרית של החלפה? אז לא היינו יכולים לפתור בעיה של אורך. אבל כן היינו יכולים לפתור בעיה של תווים חסרים או רצופים. ואם היו רק 2 פעולות של מחיקה והוספה? אז היינו יכולים לפתור את כל המצבים. ואם היו רק 2 פעולות של מחיקה והחלפה? לא היינו יכולים לפתור מצב של סיסמה קצרה מידי. או במילים אחרות ננסה לבדוק את כל החוקים ואת כל המצבים, במקרה שיש רק ... לעשות, לא ניסינו למצוא חוקיות, לא ניסינו למצוא נוסחה. או במילים אחרות, קודם כל צריכים לנסות לראות אם יודעים לפתור את השאלה, במקרה הפשוט ביותר, בלי שום חוקיות, בלי שום נוסחה, בלי שום מורכבות. רק אחרי שאנחנו מסוגלים לפתור את השאלה ידנית, בלי חוקיות, בלי נוסחה בלי כלום, במקרה הכי פשוט. עכשיו ננסה לפתור את השאלה בצורה קצת יותר מורכבת. אז האם אנחנו נדע לפתור את השאלה במידה ויש לנו 2 חוקים שהם: 1 - האורך חייב להיות בין X לבין Y 2 - הסיסמה חייבת להכיל אות קטנה / גדולה / מספר במידה ואלו 2 החוקים שנותנים לנו, האם נדע לפתור את השאלה? ומה אם היו לנו את 2 החוקים הבאים: 1 - האורך חייב להיות בין X לבין Y ... הוספה שדורשת פחות פעולות. ואחר כך פעולה של החלפה, שדורשת הכי פחות פעולות. דהיינו, תווים רצופים, בברירת המחדל, נעדיף לפתור אותו עם פעולת החלפה, שדורשת הכי פחות פעולות. או במילים אחרות, אם נוכל לבחור לפתור בעיה של חוק 2 של תווים חסרים, באמצעות הוספה או החלפה, אז עלינו להעדיף את הפעולה של ההחלפה. כי ... גם ביחס לחוק 3, שהחלפה פותרת בו את הבעיה בדרך הקצרה ביותר. דהיינו, החוק של התווים הרצופים, הכי טוב לפתור אותו באמצעות החלפה. כי זה דורש הכי פחות פעולות. ולכן ננסה בברירת המחדל בלפתור את חוק 2 של תווים חסרים, ננסה להעדיף פעולה של החלפה על פני פעולה של הוספה. כי פעולה של ... מקרה עדיף החלפה, כי זאת הפעולה הכי יעילה. ולכן קודם כל נבדוק את האורך, ואז נשתמש בפעולת ההוספה כדי לפתור את 2 החוקים הנוספים של להוסיף אותיות חסרות או כדי לנטרל אותיות רצופות. ונשתמש בפעולת המחיקה, כדי לתקן את האורך וגם כדי לפתור אותיות רצופות. ומכאן ואילך, נספור רק פעולות של החלפה בלבד. כדי שלא בטעות נשבש את האורך של הסיסמה וגם ... ל 3 יוצא 3, דהיינו, עלינו לבצע 3 פעולות החלפה. זאת בעצם החוקיות. דהיינו, ניתן להבין, שרצפים שונים ניתן לפתור אותם בכמות שונה של פעולות. ומאחר שפעולת ההחלפה היא הכי יעילה, הרי שאם נחקור נבין שכמות פעולות ההחלפה שצריך לעשות כדי לפתור תווים רצופים, היא X/3 פעולות החלפה. דהיינו, לדוגמה רצף של 17 יצטרך 17 לחלק ל 3 יוצא 5, דהיינו, ... ונבדוק האם במסגרת פעולות הוספה בגלל האורך, אפשרי לחסוך פעולות בשביל תווים חסרים. לאחר מכן נבדוק רצפים, שאותם נשאף לפתור באמצעות פעולות החלפה. שהנוסחה תהיה אורך הרצף לחלק ל 3, זאת כמות פעולות ההחלפה שצריך. שגם אותן אולי כבר ...