אליעד כהן
ייעוץ עסקי ואישי
בשיטת EIP
⭐⭐⭐⭐⭐
הדפסה לפתור חידת היגיון ✔חידת LeetCode Solution - Candy, פתרון ליטקוד, LeetCode Solution, איך לפתור שאלות ב LeetCode? איך לפתור חידת LeetCode? מדעי המחשב...
הצטרף לחברים באתר!
שם
סיסמא
לחץ כאן
להתחבר לאתר!
💖
הספרים שמומלצים לך:
להצליח בחיים
ולהיות מאושר!






☎️
ייעוץ אישי בכל נושא!
050-3331-331
🖨חידת LeetCode Solution - Candy, פתרון ליטקוד, LeetCode Solution, איך לפתור שאלות ב LeetCode? איך לפתור חידת LeetCode? מדעי המחשב, תכנות מחשבים, איך להתקבל לעבוד בהייטק? איך ללמוד תכנות מחשבים? איך להיות מתכנת? איך לעבור ראיון טכני? איך להתכונן לראיון עבודה בהייטק? תרגול שאלות ליטקוד כהכנה לראיון, איך להיות מתכנת מחשבים? איך לעבוד בפיתוח תוכנה? איך להתכונן לראיונות כתיבת קוד? איך לפתור חידת היגיון? חידות היגיון, איך לעבור ראיון עבודה טכני?
והפעם נדבר על שאלת 135. LeetCode - Candy הבאה:
There are n children standing in a line. Each child is assigned a rating value given in the integer array ratings.

You are giving candies to these children subjected to the following requirements:

Each child must have at least one candy.

Children with a higher rating get more candies than their neighbors.

Return the minimum number of candies you need to have to distribute the candies to the children.

Example 1:

Input: ratings = [1,0,2]

Output: 5

Explanation: You can allocate to the first, second and third child with 2, 1, 2 candies respectively.

Example 2:

Input: ratings = [1,2,2]

Output: 4

Explanation: You can allocate to the first, second and third child with 1, 2, 1 candies respectively.

The third child gets 1 candy because it satisfies the above two conditions.
אז קודם כל נסביר את השאלה.

יש לנו מספר ילדים כלשהו (N) ויש לנו רשימת ערכים (חיוביים), שכל ערך בתוכה מציג את הציון של כל ילד ברשימה. לדוגמה יש לנו 3 ילדים (N=3) ויש לנו רשימה שנראית כך [1,0,2] שאומרת ש: ילד 1 הציון שלו הוא 1. ילד 2 הציון שלו הוא 0. ילד 3 הציון שלו הוא 2.

עכשיו, עלינו לחלק סוכריות לילדים האלו, ע"פ החוקים הבאים:

חוק 1 - כל ילד צריך לקבל לפחות סוכריה 1.

חוק 2 - כל ילד עם ציון יותר גבוה, צריך לקבל יותר סוכריות מאשר כל ילד שצמוד אליו.

והחידה היא, מהו מספר הסוכריות המינימלי והקטן ביותר שצריך לתת לילדים האלו? כדי ליישם את 2 החוקים הקודמים.

וכמובן שעלינו למצוא נוסחה כללית שתתאים באופן כללי לכל סוגי המקרים האפשריים.


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

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

"יש לנו רשימת מספרים כלשהי ועלינו לשים על כל מספר X כלשהו של סוכריות, בהתאם ל 2 חוקים. מהו המספר המינימלי של סוכריות שצריך לשים על רשימת המספרים". ובעצם ככה אנחנו יכולים לנסח ולהבין את השאלה בצורה יותר פשוטה.

עכשיו ננסה להבין את 2 החוקים של חלוקת הסוכריות.

חוק 1 אומר, שלכל מספר, צריך לתת לפחות סוכריה 1.

חוק 2 אומר, שכל מי שהמספר שלו יותר גבוה, מקבל יותר סוכריות ממי שנמצא לידו.

וצריך לשים לב, שאם מישהו עומד ליד מישהו שיש לו ערך זהה, לגביו אין את האילוץ שהוא יקבל יותר סוכריות ממי שעומד לידו (כמו שניתן לראות בדוגמה ה 2 שהם הביאו באתר שלהם, במקרה של [1,2,2] ). דהיינו, יכול להיות שכמה ילדים עם אותו הציון, יקבלו מספר שונה של סוכריות, בהתאם למי שהם עומדים לידו.


אז איך בעצם ניגשים לפתור את השאלה הזאת?

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

וכמובן שניתן להבין שתהליך החישוב של מה מינימום הסוכריות שצריך לקבל כל ילד שנמצא ברשימה, הוא התהליך הראשון ובמקרה הוא גם התהליך הקשה יותר בחישובים, ולכן נתחיל ממנו.

אז איך נדע כמה מינימום סוכריות צריך לקבל כל ילד שנמצא ברשימה?

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

ולכאורה זה אולי נראה אותה השאלה, ואפילו אפשרי לומר שזאת כמעט אותה השאלה. אבל באמת אלו 2 צורות שונות לפקס את המוח. ובמקום לחשוב על: איך אני מוצא כמה סוכריות צריך לקבל כל ילד, צריך לחשוב על: איך אני מוצא כמה סוכריות צריך לקבל הילד ה X ברשימה. דהיינו, לנסות לחשוב רק על ילד 1 בלבד.

עכשיו ננסה להפוך את השאלה הזאת לעוד יותר פשוטה וקלה. ולצורך העניין ננסה לחשוב על הילד הראשון שעומד בשורה.

אז נניח שיש לנו את השורה הבאה
[0,1,2,3,4,5,6,7]
דהיינו, שהילד הראשון הערך שלו הוא 0. אז כמה סוכריות הוא צריך לקבל הכי פחות? תשובה: 1. כי הוא יכול לקבל את המינימום ההכרחי של סוכריות. ואין לו ציון יותר גבוה משום ילד אחר ברשימה. האם זאת האמת? כן. האם זאת תמיד האמת? כן. האם אין אפשרות שבמקרה כלשהו הוא יצטרך לקבל יותר מ 1? כן, אין אפשרות כזו.

אבל מה יקרה אם לדוגמה הילד הראשון ברשימה יהיה לו ציון אחר, לדוגמה רשימה כזאת
[73, 51, 89, 42, 67, 28, 15, 64, 37, 20, 56, 84, 93, 78, 49, 30, 12, 76, 98, 13, 61]
דהיינו, שהציון של הילד הראשון הוא 73. כמה סוכריות צריך לקבל הילד הראשון? איך מחשבים את זה? איך ניגשים לזה?


אז כאשר אנחנו מנתחים את הדרך לפתור את השאלה הזאת, עלינו לשאול את השאלה הבאה

והיא: מה בטוח נכון, האם יש משהו שהוא בטוח נכון? מהו המקרה הקטן שהוא בטוח נכון? האם יש משהו אפילו הכי קטן? שהוא בטוח נכון? דהיינו, לחפש נקודת וודאות בתוך כל הבלאגן הזה...

ומי שיתבונן יראה, כי בעצם ממה נובע הקושי לגשת לתשובה, זה בגלל שכל מספר הציון שלו, הוא מושפע מהציון של מי שלידו. ולכן קשה להבין כמה סוכריות מקבל כל ילד.

אבל האם זאת כל האמת? האם באמת אין בכל הבלאגן הזה משהו שהוא בטוח נכון? והתשובה היא שיש.

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

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

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

לדוגמה ברשימה [5,4,3,2,3,4,5] הילד שיש לו את הערך 2, הוא בטוח צריך לקבל סוכריה 1 בלבד. כי הוא לא יותר גדול מ 2 הילדים שלידו. וכל ילד צריך לקבל לפחות סוכריה 1. ולכן הוא צריך לקבל סוכריה 1.

או לדוגמה ברשימה הזאת:

[7,6,6,5,4,0,1,2,3,2]





שמעכשיו נייצג אותה כך:

מקום 01 [דירוג 7 = כמות? ]

מקום 02 [דירוג 6 = כמות? ]

מקום 03 [דירוג 6 = כמות? ]

מקום 04 [דירוג 5 = כמות? ]

מקום 05 [דירוג 4 = כמות? ]

מקום 06 [דירוג 0 = כמות? ]

מקום 07 [דירוג 1 = כמות? ]

מקום 08 [דירוג 2 = כמות? ]

מקום 09 [דירוג 3 = כמות? ]

מקום 10 [דירוג 2 = כמות? ]

הילד במקום השני, שיש לו את הדירוג 6, הוא בטוח צריך לקבל 1. כי הוא לא יותר גדול משום מספר אחר שעומד לידו. כי הוא יותר קטן מ 7 + הוא זהה ל 6 שאלו המספרים שעומדים לידו.

כמו כן גם הילד במקום השישי שיש לו דירוג 0 וגם הילד במקום העשירי שיש לו את הדירוג 2 גם שניהם בטוח צריכים לקבל כמות של סוכריה 1, כי הם לא יותר גדולים משום דירוג אחר שעומד לידם.

ועכשיו הרשימה שלנו תיראה כך:





מקום 01 [דירוג 7 = כמות? ]

מקום 02 [דירוג 6 = כמות 1]

מקום 03 [דירוג 6 = כמות? ]

מקום 04 [דירוג 5 = כמות? ]

מקום 05 [דירוג 4 = כמות? ]

מקום 06 [דירוג 0 = כמות 1]

מקום 07 [דירוג 1 = כמות? ]

מקום 08 [דירוג 2 = כמות? ]

מקום 09 [דירוג 3 = כמות? ]

מקום 10 [דירוג 2 = כמות 1]

אז בעצם בשיטה הזאת, מצאנו משהו שהוא בטוח נכון, דהיינו, את כל הילדים שצריכים לקבל כמות וודאיות של סוכריה 1 בלבד.

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

וכך נקבל את התוצאה הבאה:





מקום 01 [דירוג 7 = כמות 2]

מקום 02 [דירוג 6 = כמות 1]

מקום 03 [דירוג 6 = כמות? ]

מקום 04 [דירוג 5 = כמות? ]

מקום 05 [דירוג 4 = כמות 2]

מקום 06 [דירוג 0 = כמות 1]

מקום 07 [דירוג 1 = כמות 2]

מקום 08 [דירוג 2 = כמות? ]

מקום 09 [דירוג 3 = כמות? ]

מקום 10 [דירוג 2 = כמות 1]

בגלל ש:

מקום 1 - מקבל 2 סוכריות, כי הוא ליד כמות וודאית של 1 סוכריות (ולכן הוא מקבל כמות גדולה ב 1) + הוא לא יותר גדול ממשהו אחר שעומד לידו שעדיין לא ידועה הכמות שלו.

מקום 3 - אומנם הוא ליד מקום שקיבל בוודאות 1 סוכריות, אבל הוא גדול ממקום אחר שעדיין לא קיבל סוכריות והוא יכול להיות מושפע ממנו בהמשך.

מקום 4 - לא נמצא ליד מישהו שקיבל מספר וודאי של סוכריות.

מקום 5 - מקבל 2 סוכריות, כי הוא ליד כמות וודאית של 1 סוכריות (ולכן הוא מקבל כמות גדולה ב 1) + הוא לא יותר גדול ממשהו אחר שעומד לידו שעדיין לא ידועה הכמות שלו.

מקום 7 - מקבל 2 סוכריות, כי הוא ליד כמות וודאית של 1 סוכריות (ולכן הוא מקבל כמות גדולה ב 1) + הוא לא יותר גדול ממשהו אחר שעומד לידו שעדיין לא ידועה הכמות שלו.

מקום 8 - לא נמצא ליד מישהו שקיבל מספר וודאי של סוכריות.

מקום 9 - אומנם הוא ליד מקום שקיבל בוודאות 1 סוכריות, אבל הוא גדול ממקום אחר שעדיין לא קיבל סוכריות והוא יכול להיות מושפע ממנו בהמשך.


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

דהיינו, אם לדוגמה הוא בין כמות וודאית של 1 לבין כמות וודאית של 2, אז הוא יקבל את הערך 3 וכן הלאה.

ובדרך הזאת בעצם נקבל את התוצאה הבאה:





מקום 01 [דירוג 7 = כמות 2]

מקום 02 [דירוג 6 = כמות 1]

מקום 03 [דירוג 6 = כמות? ]

מקום 04 [דירוג 5 = כמות 3]

מקום 05 [דירוג 4 = כמות 2]

מקום 06 [דירוג 0 = כמות 1]

מקום 07 [דירוג 1 = כמות 2]

מקום 08 [דירוג 2 = כמות 3]

מקום 09 [דירוג 3 = כמות 4]

מקום 10 [דירוג 2 = כמות 1]

בגלל ש:

מקום 3 - אומנם הוא ליד מקום שקיבל בוודאות 1 סוכריות, אבל הוא גדול ממקום אחר שעדיין לא קיבל סוכריות והוא יכול להיות מושפע ממנו בהמשך.

מקום 4 - מקבל 3 סוכריות, כי הוא ליד כמות וודאית של 2 סוכריות (ולכן הוא מקבל כמות גדולה ב 1) + הוא לא יותר גדול ממשהו אחר שעומד לידו שעדיין לא ידועה הכמות שלו.

מקום 8 - מקבל 3 סוכריות, כי הוא ליד כמות וודאית של 2 סוכריות (ולכן הוא מקבל כמות גדולה ב 1) + הוא לא יותר גדול ממשהו אחר שעומד לידו שעדיין לא ידועה הכמות שלו.

מקום 9 - מקבל 4 סוכריות, כי הוא ליד כמות וודאית של 3 סוכריות + וגם ליד כמות וודאית של 1 סוכריות. והוא חייב להיות יותר גדול מהכמות הכי גדולה שלידו, ולכן הוא יקבל 4.

דהיינו, נשים לב, כי מקום 9, הוא תחום ב דירוג 2 לפניו ואחריו. אבל ה 2 שאחריו קיבל 1 סוכריות ו ה 2 שלפניו קיבל 3 סוכריות. ולכן עד שלא היתה לנו וודאות לגבי כל הערכים שקטנים מהמקום ה 9, לא יכולנו לפתור אותו.

ואם נמשיך כך, אז קיבלנו את הרשימה הבאה:





מקום 01 [דירוג 7 = כמות 2]

מקום 02 [דירוג 6 = כמות 1]

מקום 03 [דירוג 6 = כמות 4]

מקום 04 [דירוג 5 = כמות 3]

מקום 05 [דירוג 4 = כמות 2]

מקום 06 [דירוג 0 = כמות 1]

מקום 07 [דירוג 1 = כמות 2]

מקום 08 [דירוג 2 = כמות 3]

מקום 09 [דירוג 3 = כמות 4]

מקום 10 [דירוג 2 = כמות 1]

בגלל ש:

מקום 3 - מקבל 4 סוכריות, כי הוא ליד כמות וודאית של 3 סוכריות + וגם ליד כמות וודאית של 1 סוכריות. והוא חייב להיות יותר גדול מהכמות הכי גדולה שלידו, ולכן הוא יקבל 4. כמו שהיה לנו קודם עם מקום 9.

אז האם הצלחנו לפתור את התרגיל לפי הנוסחה האחרונה? כן. האם זה יעבוד במאה אחוז מהמקרים? כן.

אז מהי הנוסחה? הנוסחה היא, קודם כל לבדוק מה בטוח נכון, ומשם להתקדם צעד אחרי צעד.

אבל האם זאת הדרך היעילה ביותר?

אז יש לנו דרך יותר יעילה והיא בדרך הבאה, שהיא שיפור של הדרך הקודמת.

והדרך היא, שנחפש מה בטוח נכון, דהיינו, נתחיל לחפש את המקום הראשון שצריך לשים בו את הערך 1, דהיינו, מקום 2 כך:





מקום 01 [דירוג 7 = כמות? ]

מקום 02 [דירוג 6 = כמות 1]

מקום 03 [דירוג 6 = כמות? ]

מקום 04 [דירוג 5 = כמות? ]

מקום 05 [דירוג 4 = כמות? ]

מקום 06 [דירוג 0 = כמות? ]

מקום 07 [דירוג 1 = כמות? ]

מקום 08 [דירוג 2 = כמות? ]

מקום 09 [דירוג 3 = כמות? ]

מקום 10 [דירוג 2 = כמות? ]

ועכשיו באופן מיידי ננסה להבין לגבי כל המקומות שמצד שמאל שלו או מצד ימין שלו, האם כבר אפשרי מיד לדעת בוודאות משהו לגביהם.

דהיינו? בכל פעם שנגיע לוודאות לגבי כמות במקום כלשהו, כבר נוכל לנסות לאתר וודאות מיידית אפשרית שנובעת ממנה.

ואז נראה כי במקום 1 יש לנו וודאות לגבי הכמות 2 - כי זה ליד 1 ולא יותר גדול ממקום אחר ואז קיבלנו את זה:





מקום 01 [דירוג 7 = כמות 2]

מקום 02 [דירוג 6 = כמות 1]

ואז נמשיך למקום 3 ונראה שאין בו וודאות כי הוא יותר גדול ממקום 4.

מקום 03 [דירוג 6 = כמות? ]

מקום 04 [דירוג 5 = כמות? ]

מקום 05 [דירוג 4 = כמות? ]

ואז נחזור לחפש את נקודת הוודאות הקודמת שהיא המקום ה 6 ונציב בה 1





מקום 06 [דירוג 0 = כמות 1]

ואז אם נחזור שמאלה נוכל להציב בוודאות במקום 5 כמות של 2. ואז בוודאות במקום 4 כמות של 3. ואז במקום 3 בוודאות כמות של 4.







ועכשיו הרשימה כבר נראית כך:

מקום 01 [דירוג 7 = כמות 2]

מקום 02 [דירוג 6 = כמות 1]

מקום 03 [דירוג 6 = כמות 4]

מקום 04 [דירוג 5 = כמות 3]

מקום 05 [דירוג 4 = כמות 2]

מקום 06 [דירוג 0 = כמות 1]

מקום 07 [דירוג 1 = כמות? ]

מקום 08 [דירוג 2 = כמות? ]

מקום 09 [דירוג 3 = כמות? ]

מקום 10 [דירוג 2 = כמות? ]


ואז נמשיך במקום ה 7 וננסה להבין את הוודאות שלו, ביחס למקום ה 6 שכבר יש לנו וודאות של כמות 1

ובמקום ה 7 יש לנו וודאות של כמות 2





מקום 07 [דירוג 1 = כמות 2]

ואז נבדוק וודאות של מקום 8, בגלל הוודאות של מקום 7

ואז נקבל וודאות של כמות 3





מקום 08 [דירוג 2 = כמות 3]

ואז נבדוק וודאות של מקום 9 ונראה שעדיין אין לנו וודאות, כי מקום 9 אמור להיות מושפע גם ממקום 10, כי הוא גדול גם מ 10.

מקום 09 [דירוג 3 = כמות? ]

ואז שוב נחפש נקודת וודאות ונגיע למקום 10 ונציב בו כמות 1





מקום 10 [דירוג 2 = כמות 1]

ואז נחזור לנסות לגזור ממנו וודאות לגבי מקום 9 ונציב במקום 9 4, כדי שהוא יהיה גדול מהכמות של מקום 8.





וכך שוב קיבלנו את הפתרון הקודם שהוא

מקום 01 [דירוג 7 = כמות 2]

מקום 02 [דירוג 6 = כמות 1]

מקום 03 [דירוג 6 = כמות 4]

מקום 04 [דירוג 5 = כמות 3]

מקום 05 [דירוג 4 = כמות 2]

מקום 06 [דירוג 0 = כמות 1]

מקום 07 [דירוג 1 = כמות 2]

מקום 08 [דירוג 2 = כמות 3]

מקום 09 [דירוג 3 = כמות 4]

מקום 10 [דירוג 2 = כמות 1]


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


אז מה בעצם היה לנו:

חיפשנו נקודת וודאות בתוך כל האפשרויות. ולכן התחלנו לחפש בהכרח את הדירוג שאמור לקבל כמות של 1. כי זאת הוודאות היחידה האפשרית. וזה אפשרי רק היכן שאין שום מספר שגדול שצמוד למספר הנוכחי.

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

לסיכום: חפש את נקודת הוודאות הקטנה ביותר ומשם תתחיל לפתור את התרגיל בדרך כלשהי, גם אם היא אינה יעילה. אל תחשוב על יעילות אלא על משהו וודאי גם אם הוא אינו יעיל.

מכאן להתקדם לנסות לשפר יעילות וכולי.

בהצלחה.
פיתוח איך לעבור ראיון טכני מימד המקום חידות היגיון להתכונן לראיונות כתיבת קוד להבין אותה התעלמות ללמוד תכנות מחשבים בחורות להיות מתכנת ממי ללמוד leetcode leetcode solution איך להיות מתכנת איך להיות מתכנת מחשבים איך להתכונן איך להתכונן לראיון איך להתכונן לראיון עבודה איך להתכונן לראיון עבודה בהייטק איך להתכונן לראיונות איך להתכונן לראיונות כתיבת קוד איך להתקבל איך להתקבל לעבוד איך להתקבל לעבוד בהייטק איך להתראיין איך ללמוד איך ללמוד תכנות איך ללמוד תכנות מחשבים איך לעבוד בפיתוח תוכנה איך לעבור ראיון איך לעבור ראיון טכני איך לעבור ראיון עבודה איך לעבור ראיון עבודה טכני איך לפתור איך לפתור חידת leetcode איך לפתור חידת היגיון איך לפתור שאלות איך לפתור שאלות ב leetcode איך לראיין איך לראיין עובד איך לראיין עובדים איך לשאול שאלות במה לעבוד בשביל מה לשאול שאלות היגיון הייטק הכנה לראיון חידה חידות חידות היגיון חידת leetcode חידת היגיון חשיבה מדעית טכני כתיבת קוד להיות מתכנת להיות מתכנת מחשבים להתכונן להתכונן לראיון להתכונן לראיון עבודה להתכונן לראיון עבודה בהייטק להתכונן לראיונות להתכונן לראיונות כתיבת קוד להתקבל להתקבל לעבוד להתקבל לעבוד בהייטק להתראיין ליטקוד ללמוד ללמוד תכנות ללמוד תכנות מחשבים למידה לעבוד לעבוד בהייטק לעבוד בפיתוח תוכנה לעבור ראיון לעבור ראיון טכני לעבור ראיון עבודה לעבור ראיון עבודה טכני לפתור לפתור חידות לפתור חידת leetcode לפתור חידת היגיון לפתור שאלות לפתור שאלות ב leetcode לפתח לראיין לראיין עובד לראיין עובדים לשאול שאלות מדע מדעי המחשב ממי ללמוד מתכנת מחשבים עבודה עבודה בהייטק פיתוח פיתוח תוכנה פתרון פתרון ליטקוד ראיון ראיון טכני ראיון עבודה ראיון עבודה בהייטק ראיונות ראיונות כתיבת קוד שאלות ליטקוד שאלות ליטקוד כהכנה לראיון תכנות תכנות מחשבים תרגול תרגול שאלות תרגול שאלות ליטקוד תרגול שאלות ליטקוד כהכנה לראיון
חידת LeetCode Solution - Minimum Cost to Equalize Array, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח תוכנה, איך לכתוב קוד? ללמוד לכתוב קוד, חידות היגיון, ללמוד לחשוב, ללמוד לנתח דברים, ללמוד לפרק לגורמים, ללמוד לחלק לחלקים, ללמוד למצוא חוקיות, איך לחלק לחלקים? איך למצוא חוקיות? לנתח תהליכים
...עוד הגדלה בודדת כדי ליישר את כל הרשימה ל [2,2,2,2]. ומה יקרה אם תהיה לנו רשימה כזאת [1,1,1,100] כמה הגדלות כפולות נוכל לבצע עכשיו? אז אם נבדוק נראה שאנחנו צריכים לבצע 993 הגדלות. דהיינו, 297 הגדלות. ואת זה ניתן לבצע באמצעות, 148 הגדלות כפולות + הגדלה אחת בודדת. אז לכאורה מצאנו לנו חוקיות מסוימת, שאומרת, ניקח את כמות ההגדלות שצריך לבצע בסך הכל ונחלק אותה ל 2. וזאת תהיה כמות ההגדלות הכפולות שניתן לבצע. את השארית, נגדיל בצורה של הגדלה בודדת. ומכך נובע ש, בהינתן עמודות שוות בגובהן, שצריך להגדיל את כולן...
חידת LeetCode Solution - Block Placement Queries, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח תוכנה, איך לכתוב קוד? ללמוד לכתוב קוד, חידות היגיון, ללמוד לחשוב, ללמוד לנתח דברים, ללמוד לפרק לגורמים, ללמוד לחלק לחלקים, ללמוד למצוא חוקיות, איך לחלק לחלקים? איך למצוא חוקיות? לנתח תהליכים
...the block specified in the ith query of type 2, and false otherwise. Example 1: Input: queries = [[1,2], [2,3,3], [2,3,1], [2,2,2]] Output: [false,true,true] Explanation: For query 0, place an obstacle at x = 2. A block of size at most 2 can be placed before x = 3. Example 2: Input: queries = [[1,7], [2,7,6], [1,2], [2,7,5], [2,7,6]] Output: [true,true,false] Explanation: Place an obstacle at x = 7 for query 0. A block of size at most 7 can be placed before x = 7. Place an obstacle at x = 2 for...
חידת LeetCode Solution - Strong Password Checker, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח תוכנה, איך לכתוב קוד? ללמוד לכתוב קוד, חידות היגיון, ללמוד לחשוב, ללמוד לנתח דברים, ללמוד לפרק לגורמים, ללמוד לחלק לחלקים, ללמוד למצוא חוקיות, איך לחלק לחלקים? איך למצוא חוקיות? איך לנתח תהליכים?
...ניתן לבצע במסגרת פעולות החלפה הנדרשות עבור תווים חסרים. ואם יש לנו סיסמה מעל 20 תווים, הרי שנהיה חייבים לבצע מחיקות. ואז נבדוק אולי נצטרך להוסיף פעולות החלפה הכרחיות, עבור תווים חסרים. ואז באמצעות פעולות המחיקה, ננסה לפתור תווים רצופים לפי הנוסחה הנל. עד כאן ראינו שוב, איך באמצעות לחלק לחלקים הכי פשוטים והכי קטנים, בצורה ידנית, בלי לנסות למצוא חוקיות או נוסחאות, איך באמצעות זה ניתן למצוא חוקיות, וניתן להמציא נוסחאות. שמתחילות בשאלה, מה בטוח נכון ומשם להתקדם קדימה אל הפתרון של הבעיה שנראית מסובכת...
ליטקוד, LeetCode Solution, איך לפתור שאלות ב LeetCode? ראיונות קוד, תרגול ליטקוד, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ראיון טכני, שאלות חשיבה, איך לפתור בעיות מורכבות? איך לפתח את המוח? איך להתכונן לראיון עבודה בהייטק? תרגול שאלות ליטקוד כהכנה לראיון, איך להיות מתכנת מחשבים? לעבוד בפיתוח תוכנה, איך למצוא מה בטוח נכון? ללמוד לנתח תהליכים, איך ללמוד לתכנת? איך ללמוד לכתוב קוד? כתיבת קוד, לפתור חידות היגיון, איך להבין חוקיות? איך למצוא חוקיות?
...2 - להבין את הפתרון באופן כללי. 3 - לכתוב, להריץ ולבדוק את הפתרון במערכת של האתר ליטקוד. ואני אסביר: הרבה מתכנים חושבים, שהשלב הבא אחרי שמבינים שאלת ליטקוד, זה להתחיל לקודד או להתחיל לחשוב על איזה קוד יודע לבצע את הפתרון שהם רוצים לבצע. והתהליך הזה הוא מורכב מכמה חלקים. חלק 1 - הוא להבין את הלוגיקה של הפתרון שרוצים לכתוב. חלק 2 - הוא לדעת איך לכתוב את הלוגיקה הזאת בשפת התכנות שאנחנו רוצים לכתוב בה את הפתרון. כי הרבה פעמים המגבלה של המתכנת, היא שהוא חושב דרך השפה שהוא מנסה לתכנת בה ולא בצורה מופשטת...
שאלות ליטקוד קשות, LeetCode Hard problems, איך לפתור את שאלות ליטקוד הכי קשות שיש? איך לפתור שאלות שאין להן תשובה? איך לפתור שאלות שאי אפשר לפתור אותן? איך לפתור שאלות ליטקוד שאין להן פתרון? איך לנתח שאלות חשיבה? איך ללמוד תכנות מחשבים? איך ללמוד מדעי המחשב? פתרון סיבוכיות זמן ריצה, ראיונות טכניים בתוכנה, שאלות טכניות לראיון עבודה בהייטק, איך להתכונן לראיונות ליטקוד? איך להתכונן לראיון עבודה בהייטק? ליטקוד בעברית, Hebrew LeetCode, חידות היגיון
...הגעת לשאלה שאתה לא מוצא איזו חוקיות כלשהי לפתור את כל המקרים האפשריים, בלי לעבור על כל המקרים האפשריים, הרי שעליך להיות מסוגל להוכיח שאין אפשרות למצוא קיצור דרך ולהיות מסוגל להוכיח שאכן חייבים לבדוק את כל המקרים האפשריים. במילים אחרות, לפעמים התשובה לשאלת LeetCode היא בכך שמוצאים איזה קיצור דרך איך לעבור על כל המקרים האפשריים, בדרך מאוד קצרה. אבל לפעמים התשובה הנדרשת, היא היכולת להוכיח שאין קיצור דרך ולהוכיח שהפתרון שלך, אין אפשרות לפתור את השאלה, בצורה שיותר טובה ממנו. לסיכום: אם הגעת לשאלת ליטקוד...
רצונות התת מודע, איזה רצון מניע אותך, התבוננות עצמית, התבוננות פנימית, התבוננות נפשית, מודעות עצמית, למה יש רצון? מהו הרצון? מה רוצה התת מודע? שיעור באלגוריתם, תכנות מחשבים, הסיפור של אליעד
רצונות התת מודע, איזה רצון מניע אותך, התבוננות עצמית, התבוננות פנימית, התבוננות נפשית, מודעות עצמית, למה יש רצון? מהו הרצון? מה רוצה התת מודע? שיעור באלגוריתם, תכנות מחשבים, הסיפור של אליעד
...ומסגרת, מחוברים ביניהם בצורה של פירמידה או מעגל פנימי. הוא מסביר שהרצון ללכת לאוניברסיטה נובע מרצון לביטחון כלכלי וחברתי, שזה בתורו נובע מרצון להשתייך למסגרת או לחברה מסוימת. כך אדם מוצא עצמו במצב שבו הרצונות הם לא מטרות בפני עצמם אלא אמצעים להשיג משהו אחר, עמוק יותר, שהוא כלל לא מודע אליו. הבנת המבנה הפנימי הזה עוזרת לאדם להבין מאיפה מגיעים הלחצים והחרדות שהוא חווה. מה הפתרון לקונפליקטים בין הרצונות? אליעד מציע שתי אפשרויות עיקריות לפתור את הבעיה של רצונות מתנגשים: אפשרות אחת היא לוותר על הרצון...
ספרים מומלצים עבורך - ספרים על חידת LeetCode Solution - Candy, פתרון ליטקוד, LeetCode Solution, איך לפתור שאלות ב LeetCode? איך לפתור חידת LeetCode? מדעי המחשב, תכנות מחשבים, איך להתקבל לעבוד בהייטק? איך ללמוד תכנות מחשבים? איך להיות מתכנת? איך לעבור ראיון טכני? איך להתכונן לראיון עבודה בהייטק? תרגול שאלות ליטקוד כהכנה לראיון, איך להיות מתכנת מחשבים? איך לעבוד בפיתוח תוכנה? איך להתכונן לראיונות כתיבת קוד? איך לפתור חידת היגיון? חידות היגיון, איך לעבור ראיון עבודה טכני?
 👈1 ב 150  👈4 ב 400     ☎️ 050-3331-331    שליח עד אליך - בחינם!
שקט נפשי אמיתי - הספר על: לפתור חידת היגיון, איך להתמודד עם בדידות? איך להתמודד עם רגשות אשם ושנאה עצמית? איך להתמודד עם הפרעות קשב וריכוז? איך להתמודד עם חלומות מפחידים וסיוטים בשינה? איך להתמודד עם לחץ? דיכאון? איך להתמודד עם חרדות + פחדים של ילדים? איך להשיג איזון נפשי? כעס ועצבים? איך להתמודד עם אכזבות? איך להתמודד עם התקפי חרדה ופאניקה? איך להתמודד עם הזיות / דמיונות שווא / פרנויות / סכיזופרניה / הפרעת אישיות גבולית? איך לשכוח אקסים ולא להתגעגע? איך להתמודד עם טראומה ופוסט טראומה? מועקות נפשיות וייאוש? איך להתמודד עם אהבה אובססיבית? איך להתמודד עם מאניה דיפרסיה ועם מצבי רוח משתנים? איך להתמודד עם שמיעת קולות בראש? איך להתמודד עם הפרעות התנהגות אצל ילדים? איך להתמודד עם בעיות ריכוז והפרעת קשב וריכוז? איך להתמודד עם תסמינים של חרדה? איך להתמודד עם עצבות? איך להתמודד עם OCD / הפרעה טורדנית כפייתית / אובססיות / התנהגות כפייתית? איך להתמודד עם ביישנות וחרדה חברתית? איך להתמודד עם כל סוגי הפחדים והחרדות שיש? איך להתמודד עם פחד קהל ופחד במה / פחד להתחיל עם בחורות / פחד להשתגע / פחד לאבד שליטה / חרדת נטישה / פחד מכישלון / פחד מוות / פחד ממחלות / פחד לקבל החלטה / פחד ממחויבות / פחד מבגידה / פחד מיסטי / פחד ממבחנים / חרדה כללית / פחד לא ידוע / פחד מפיטורים / פחד ממכירות / פחד מהצלחה / פחד לא הגיוני ועוד ועוד...

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

להיות אלוהים, 2 חלקים - הספר על: האם אפשר לדעת הכל? מה יש מעבר לזמן ולמקום? למה יש רע וסבל בעולם? האם יש נשמה וחיים אחרי המוות? איך להנות בחיים? האם יש אמת מוחלטת? האם יש בחירה חופשית? האם יש חיים מחוץ לכדור הארץ ויקומים מקבילים? איך נוצר העולם? למה חוקי הפיזיקה כפי שהם? מהי תכלית ומשמעות החיים? האם יש משמעות לחיים? האם לדומם יש תודעה? מה יש מעבר לשכל וללוגיקה? איך נוצרים רצונות / מחשבות / רגשות? האם יש או אין אלוהים? איך להיות הכי חכם בעולם? האם יש הבדל בין חלום למציאות? האם באמת הכל לטובה? האם הכל אפשרי? מה המשמעות של החיים? למה יש רע בעולם? איך להיות מאושר? למה העולם קיים? אולי אנחנו במטריקס? למה לא להתאבד? האם המציאות היא טובה או רעה? מי ברא את אלוהים? איך נוצר העולם? בשביל מה לחיות? איך להשיג שלמות ואושר מוחלט ועוד...
רק כאן באתר! ✨ להנאתך, 10,000+ שעות של תכנים בלעדיים! ✨ מאת אליעד כהן!
לפניך חלק מהנושאים שבאתר... מה מעניין אותך?

חפש:   מיין:

האתר www.EIP.co.il נותן לך תכנים בנושא מטפל טוב, הכוונה אישית, גישור בתחום לפתור חידת היגיון - ללא הגבלה! לקביעת פגישה אישית / ייעוץ טלפוני אישי / הזמנת הספרים - צור/י עכשיו קשר: 050-3331-331
© כל הזכויות שמורות לאתר www.EIP.co.il בלבד!
מומלץ ביותר, לצטט תוכן מהאתר במקומות שונים,
ובתנאי שתמיד יצורף קישור לכתובת שבה מופיע התוכן המקורי ולאתר.
האתר פותח על ידי אליעד כהן
דף זה נוצר ב 1.2188 שניות - עכשיו 02_09_2025 השעה 07:45:38 - wesi1