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






☎️
ייעוץ אישי בכל נושא!
050-3331-331
🖨חידת LeetCode Solution - Block Placement Queries, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח תוכנה, איך לכתוב קוד? ללמוד לכתוב קוד, חידות היגיון, ללמוד לחשוב, ללמוד לנתח דברים, ללמוד לפרק לגורמים, ללמוד לחלק לחלקים, ללמוד למצוא חוקיות, איך לחלק לחלקים? איך למצוא חוקיות? לנתח תהליכים
והפעם נדבר על שאלת 3161. LeetCode - Block Placement Queries הבאה:
There exists an infinite number line, with its origin at 0 and extending towards the positive x-axis.

You are given a 2D array queries, which contains two types of queries:

For a query of type 1, queries[i] = [1, x]. Build an obstacle at distance x from the origin. It is guaranteed that there is no obstacle at distance x when the query is asked.

For a query of type 2, queries[i] = [2, x, sz]. Check if it is possible to place a block of size sz anywhere in the range [0, x] on the line, such that the block entirely lies in the range [0, x]. A block cannot be placed if it intersects with any obstacle, but it may touch it. Note that you do not actually place the block. Queries are separate.

Return a boolean array results, where results[i] is true if you can place 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 query 2. Now, a block of size at most 5 can be placed before x = 7, and a block of size at most 2 before x = 2.
אז קודם כל נסביר את השאלה שהולכת כך:

נתון לפנינו: ציר קו באורך אין סופי, שמתחיל ב 0 וממשיך ב 1,2,3 וכולי עד אין סוף.

כמו כן נותנים לנו רשימה של שאילתות, שמורכבת מ 2 סוגים של שאילתות:

סוג 1 של שאילתה, אומר לנו לשים "מחסום" בנקודה X בקו שלנו.

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


שאילתה מסוג 1, מוצגת כך:

queries[i] = [1, x]

כאשר הספרה הראשונה היא 1, זה אומר שמדובר על שאילתה מסוג 1, שאומרת לנו להציב מכשול במקום X כנ"ל. הבהרה: המכשול עצמו תופס 0 מקום.

לדוגמה:

queries[i] = [1, 10]

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





שאילתה מסוג 2 מוצגת כך:

queries[i] = [2, x, sz]

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

לדוגמה:

queries[i] = [2, 5, 6]

השאילתה שואלת אותנו, האם ניתן להציב בלוק ברוחב 6, החל ממיקום 0 ועד למיקום 5. והתשובה היא, שלא. כי עד למיקום 5, ניתן להציב אך ורק בלוק עד רוחב 5 אך לא יותר מכך.





או לדוגמה:

queries[i] = [2, 5, 3]

השאילתה שואלת אותנו, האם ניתן להציב בלוק ברוחב 3, החל ממיקום 0 ועד למיקום 5. והתשובה היא, שכן. כי עד למיקום 5, ניתן להציב כל בלוק עד רוחב 5.





ואם לדוגמה אמרנו לנו את זה

queries[0] = [1, 10]

queries[1] = [2, 15, 12]

אז השאילתה הראשונה תאלץ אותנו לשים מכשול במקום 10 על גבי הציר. כך:





ואז לא נוכל לשים מכשול ברוחב 12, עד למיקום 15. כי המכשול שנמצא במיקום 10, מגביל אותנו לשים מכשול ברוחב 12 החל ממיקום 0, כי המכשול יתנגש במחסום שיש במיקום 10.





ואם עכשיו ישאלו אותנו:

queries[2] = [2, 10, 9]

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

וגם אם ישאלו

queries[3] = [2, 10, 10]

דהיינו, האם עד מקום 10, ניתן לשים מכשול ברוחב 10, התשובה תהיה שכן

כך:





ואם עכשיו יגדירו לנו

queries[4] = [1, 7]

דהיינו, יבקשו מאיתנו לשים מכשול נוסף גם במקום 7, כך:





הרי שאם ישאלו אותנו עכשיו שוב פעם לדוגמה את זה:

queries[5] = [2, 10, 10]

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

כך:





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

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


ובהינתן לדוגמה הגדרת המכשולים האלו:





אז אם נשאל, האם ניתן ממקום 0 ועד מקום 17, לשים מכשול ברוחב 5? התשובה תהיה שכן, כי ניתן לשים את המכשול, בטווח שבין 3 לבין 9 כך:





אז מה בעצם שואלים אותנו?

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

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

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

ובעצם השאלה היא, בהינתן לנו רשימת שאילתות, עלינו להחזיר תשובה של: אפשרי או לא אפשרי, עבור כל אחת מהשאילתות מסוג 2 כנ"ל.


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

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

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

למה הוא לא יעיל? ממגוון רחב מאוד של סיבות. כי נניח שישאלו אותנו, האם ניתן להציב עד מיקום 100,000,000 בלוק ברוחב 13,522. ונניח שעד מיקום 100,000,000 יש לנו 9,999 מכשולים במקומות שונים. האם באמת הגיוני שאנחנו נצטרך עכשיו לספור 100,000,000 מקומות, כדי לדעת אם אפשרי או לא אפשרי להציב את המכשול ברוחב SIZE עד למיקום X? זה כנראה מתיש ולא יעיל...

ולכן מהות השאלה היא, מהי הדרך היעילה ביותר כדי לתת תשובה לשאילתה מסוג 2. זאת מהות השאלה.


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


אז איך ניגשים לשאלה הזאת? איך מנסים למצוא פתרון יותר יעיל לשאלה הזאת.

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

ובמילים אחרות, הפתרון הכי לא יעיל, יהיה לעבור מיקום מיקום אחד אחד מההתחלה ועד X כנ"ל.

ואיך ניתן לשפר את הפתרון הזה בדרך יחסית יעילה?

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





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

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

אז איך נתקדם מכאן?

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

לדוגמה: נניח ששואלים אותנו האם עד מיקום 1M ניתן להציב מכשול ב SIZE של 2000 כאשר יש לנו 5000 מכשולים שונים.

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

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

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


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





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

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





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

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


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





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

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


אז איך בעצם ניגש לזה?

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

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

נניח לדוגמה שנתון לנו הציר הבא, עם החישובים הבאים:





אז יכולים להיות לנו כמה תהליכים, לדוגמה:

תהליך 1 - הגדרת המכשול במיקום X

לדוגמה: שים מכשול חדש במיקום 9





תהליך 2 - הגדרת טווח רוחב אפשרי מעודכן, מצד ימין ומצד שמאל של המכשול החדש





תהליך 3 - עדכון רוחב הטווח המקסימאלי בכל מיקום של מכשול כנ"ל





תהליך 4 - חישוב של האם ניתן לשים מכשול ברוחב כלשהו, עד למיקום X, בהתאם לרשימת הטווחים המקסימאלית עד לכל מכשול, כנ"ל בתהליך 3.

דהיינו, אם עכשיו לדוגמה ישאלו אותנו, האם ניתן לשים מכשול עד לנקודה 17 ברוחב 5, הרי שנצטרך לבצע את החישוב, לפי המידע שיש לנו על המכשול שנמצא במיקום 14 כנ"ל. והתשובה תהיה שכן.

או אם לדוגמה ישאלו אותנו, האם ניתן עד מיקום 12 לשים מכשול ברוחב 6, נצטרך לבצע את החישוב בהתאם למכשול שנמצא במיקום 9, והתשובה תהיה כן, כנ"ל.

וגם תהליך 4 עצמו, מורכב מכמה חלקים.

חלק 1 - לאתר את המכשול הקרוב ביותר לנקודה שעליה אנחנו נשאלים.

חלק 2 - לבצע את החישוב כדי למצוא תשובה למה ששאלו אותנו, על בסיס המידע שיש לנו על המכשול שמצאנו. (כי את המידע אנחנו שומרים על המכשול ולא על כל מיקום בפני עצמו).

ובאופן כללי יש כאן כל מיני תהליכים נוספים, כגון של:

1 - ניהול הרשימה של המכשולים

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

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

דהיינו, יש כאן כל מיני תהליכים שונים.


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

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

או לדוגמה, שתמיד תהיה אפשרות להכניס בלוק ברוחב SIZE אם X גדול מהמיקום של המכשול האחרון + SIZE. לדוגמה, תהיה אפשרות להכניס מכשול ברוחב 10, למיקום 100, אם המכשול הגדול ביותר נמצא במיקום 70.

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

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

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


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

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

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

בקיצור, יש כאן כל מיני זוויות והיבטים לתקוף את הנושא הזה.

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

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

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

אז איך ניגשים לזה?


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

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

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

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

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

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

כמו כן, אנחנו נניח שננהל את הרשימה עצמה, בתוך מבנה של רשימה פשוטה ורגילה. ולא בצורה של עץ טווחים (segment tree) שזה עוד נושא בפני עצמו.

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


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





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

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

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





עד כאן זה משהו שהוא הכי פשוט שיש ושהוא בטוח נכון.


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

תשובה: מכך נוכל להסיק לגבי מקרה של ציר, שיש עליו רק מכשול 1 בלבד. לדוגמה מכשול 1 בלבד במיקום 5:





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

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

ולכן מכך נובע, שכאשר יתנו לנו את המכשול הראשון, נרשום לידו, שה MAX RANGE המקסימאלי עד אליו, הוא המיקום של אותו X כנ"ל.


עכשיו נתבונן רגע אחד על המקרה הקודם, ונשאל: מה יהיה גודל הטווח המקסימאלי שניתן להכניס עד 6, שנמצא אחרי המיקום של המכשול היחיד הנ"ל במיקום 5?

תשובה: ניתן להכניס בלוק...
פירוש להכיל ללמוד לפרק לגורמים עובדים איך ניגשים לשאלה עקרונות לפתור שאלות ב leetcode ללמוד לפרק לכתוב קוד איך לפתור שאלות להבין חוקיות leetcode leetcode solution איך להיות מתכנת איך להתראיין איך לחלק לחלקים איך לכתוב איך לכתוב קוד איך ללמוד איך ללמוד לכתוב קוד איך ללמוד לתכנת איך ללמוד תכנות איך ללמוד תכנות מחשבים איך למצוא חוקיות איך לנתח איך לנתח דברים איך לנתח תהליך איך לנתח תהליכים איך לפרק לגורמים איך לפתור איך לפתור שאלות איך לפתור שאלות ב leetcode איך לראיין איך לראיין עובד איך לראיין עובדים איך לשאול שאלות במה לעבוד בשביל מה לשאול שאלות היגיון הייטק הכנה לראיון הכנה לראיון טכני חוקיות חידה חידות חידות היגיון חידת leetcode חידת היגיון חשיבה מדעית טכני לגורמים להיות מתכנת להתראיין לחלק לחלקים ליטקוד לכתוב לכתוב קוד ללמוד ללמוד לחלק ללמוד לחלק לחלקים ללמוד לחשוב ללמוד לכתוב ללמוד לכתוב קוד ללמוד למצוא ללמוד למצוא חוקיות ללמוד לנתח ללמוד לנתח דברים ללמוד לפרק ללמוד לפרק לגורמים ללמוד לתכנת ללמוד תכנות ללמוד תכנות מחשבים למידה למצוא חוקיות לנתח לנתח דברים לנתח תהליך לנתח תהליכים לעבוד לעבוד בהייטק לפרק לפרק לגורמים לפתור לפתור שאלות לפתור שאלות ב leetcode לפתח לראיין לראיין עובד לראיין עובדים לשאול שאלות לתכנת מדע מדעי המחשב ממי ללמוד עבודה עבודה בהייטק פיתוח פיתוח תוכנה פתרון פתרון ליטקוד ראיון ראיון טכני ראיון עבודה ראיון עבודה בהייטק ראיונות שאלות ליטקוד תהליך תהליכים תכנות תכנות מחשבים
חידת LeetCode Solution - Candy, פתרון ליטקוד, LeetCode Solution, איך לפתור שאלות ב LeetCode? איך לפתור חידת LeetCode? מדעי המחשב, תכנות מחשבים, איך להתקבל לעבוד בהייטק? איך ללמוד תכנות מחשבים? איך להיות מתכנת? איך לעבור ראיון טכני? איך להתכונן לראיון עבודה בהייטק? תרגול שאלות ליטקוד כהכנה לראיון, איך להיות מתכנת מחשבים? איך לעבוד בפיתוח תוכנה? איך להתכונן לראיונות כתיבת קוד? איך לפתור חידת היגיון? חידות היגיון, איך לעבור ראיון עבודה טכני?
... LeetCode? מדעי המחשב, תכנות מחשבים, איך להתקבל לעבוד בהייטק? איך ללמוד תכנות מחשבים? איך להיות מתכנת? איך לעבור ראיון טכני? איך להתכונן לראיון עבודה בהייטק? תרגול שאלות ליטקוד כהכנה לראיון, איך להיות מתכנת מחשבים? איך לעבוד בפיתוח תוכנה? איך להתכונן לראיונות כתיבת קוד? איך לפתור חידת היגיון? חידות היגיון, איך לעבור ראיון עבודה טכני? והפעם נדבר על שאלת 135. LeetCode - Candy הבאה: There are n children standing in a line. Each child ...
מנטורים, גורואים, האם חייב מנטור כדי להצליח בחיים? האם חייב גורו להתפתחות תודעתית? שקרים של מנטורים, שקרים של גורואים, שקרים של מורים רוחניים, תלות במורה רוחני, להיות אלוהים בכוחות עצמך, תלות באליעד כהן, האם חייב עזרה חיצונית?
מנטורים, גורואים, האם חייב מנטור כדי להצליח בחיים? האם חייב גורו להתפתחות תודעתית? שקרים של מנטורים, שקרים של גורואים, שקרים של מורים רוחניים, תלות במורה רוחני, להיות אלוהים בכוחות עצמך, תלות באליעד כהן, האם חייב עזרה חיצונית?
... שמחזיקים בידע בתחום. אם הוא רוצה לדעת כיצד להגיע למקום מסוים, ייתכן שיצטרך לשאול מישהו. אם הוא זקוק למידע טכני, למשל כיצד להטיס מטוס או לבנות מבנה, הוא יצטרך ללמוד זאת ממורה. עם זאת, אליעד מדגיש שבתחום ההתפתחות האישית, ... מיותרת? לא תמיד. ישנם מקרים שבהם עזרה חיצונית נדרשת, כמו בהצורך להעביר רכב כבד, לבנות מבנה או לרכוש ידע טכני. אך כשמדובר בהבנה עצמית ובתחום ההתפתחות האישית, כל אדם יכול להגיע למקום הזה לבד. לסיכום האמונה שמנטורים וגורואים הם ... אדם יכול להצליח בעצמו, והמניפולציות של מנטורים לא תמיד משקפות את המציאות. בעוד שלפעמים ניתן להיעזר במידע חיצוני בתחום טכני, בסופו של דבר, הצלחה אישית היא תוצאה של עבודה פנימית עצמאית. אליעד מסכם בכך שלכל אדם יש בתוכו את ... להתעשר מהדרכת אחרים, למרות שאין להם ניסיון ממשי בהצלחה בתחום שבו הם מדריכים. המניפולציות שמנטורים עושים מנטורים רבים משתמשים בטכניקות שכנוע שונות כדי לגרום לאנשים להאמין שהם זקוקים להם. הם טוענים כי כל אדם מצליח השתמש במנטור, ואף מספרים ... ללמוד ממורה שמחזיק בידע. אם אדם רוצה לדעת כיצד להגיע למקום מסוים, ייתכן שיצטרך לשאול. אם אדם זקוק למידע טכני, כמו כיצד להטיס מטוס או כיצד לבנות מבנה, הוא יצטרך ללמוד זאת ממקור חיצוני. עם זאת, כאשר מדובר בהתפתחות ... להרים רכב כבד, תצטרך עזרה פיזית. אם אתה רוצה לבנות מבנה גדול, תזדקק לאנשים נוספים. אם אתה זקוק לידע טכני, ייתכן שתצטרך ללמוד ממקורות חיצוניים. אך כאשר מדובר בהבנה עצמית, התחברות לאמת הפנימית והגעה לאושר, אתה יכול לעשות זאת ...
התמודדות עם תחרות עסקית, פירוט המפרט הטכני בהצעת מחיר, פחד מתחרות עסקית, פחד מהצעת מחיר יותר זולה, האם לפרט את המפרט הטכני בהצעת המחיר? יקר לי, פחד ממתחרים יותר זולים, איך לכתוב הצעת מחיר? מה לכתוב בהצעת המחיר? למכור מוצר יקר
התמודדות עם תחרות עסקית, פירוט המפרט הטכני בהצעת מחיר, פחד מתחרות עסקית, פחד מהצעת מחיר יותר זולה, האם לפרט את המפרט הטכני בהצעת המחיר? יקר לי, פחד ממתחרים יותר זולים, איך לכתוב הצעת מחיר? מה לכתוב בהצעת המחיר? למכור מוצר יקר
התמודדות עם תחרות עסקית, פירוט המפרט הטכני בהצעת מחיר, פחד מתחרות עסקית, פחד מהצעת מחיר יותר זולה, האם לפרט את המפרט הטכני בהצעת המחיר? יקר לי, פחד ממתחרים יותר זולים, איך לכתוב הצעת מחיר? מה לכתוב בהצעת המחיר? למכור מוצר יקר ... יפנה למתחרה עם המפרט? אליעד מסביר שהרבה בעלי עסקים מפחדים שהלקוח יקבל מהם הצעת מחיר מפורטת, ייקח את המפרט הטכני, וילך למתחרים כדי לקבל הצעה זולה יותר. החשש הזה נובע מכך שאנשים חושבים שהלקוח פשוט ישווה את הרכיבים וימצא ... באיכות וברמת החלקים. לכן, דווקא במצב שבו המוצר איכותי במיוחד, יש צורך רב יותר לפרט בדיוק את כל הפרטים הטכניים ללקוח, כדי שהוא יבין את ההבדל ויראה את הערך האמיתי של מה שאתם מוכרים לו. האם אתם מספקים רק מפרט טכני או שיש לכם ערך מוסף? נקודה נוספת שאליעד מדגיש היא ההבחנה בין לספק מוצר טכני לבין לספק שירות בעל ערך מוסף. אם העסק שלכם רק מוכר חלקים או מפרט טכני ללא שום תוספת, אתם בבעיה. במקרה כזה באמת יש חשש שהלקוח ייקח את המפרט, יפנה למתחרה ויקנה את אותו מוצר בדיוק במחיר זול יותר. עם זאת, אליעד טוען שעסקים רציניים בדרך כלל לא מוכרים רק מפרט טכני, אלא מספקים שירותים נוספים חשובים כמו: הרכבת המוצר בצורה מקצועית ומדויקת. ניהול מלא של הפרויקט או של תהליך ההרכבה ... אמיתיים, אין סיבה לפחד מתחרות זולה. הפחד שלכם צריך להיעלם אם תבינו שאתם לא מוכרים רק רכיבים או מפרטים טכניים, אלא שירותים נלווים וערך מוסף אמיתי. אם אתם חוששים שהלקוח שלכם יפנה למתחרה זול יותר, כנראה שאתם עצמכם לא ... ולמכור מוצר יקר בלי לחשוש ממתחרים? לסיכום, אליעד ממליץ שבכל הצעת מחיר: תפרטו כמה שיותר את כל מרכיבי המפרט הטכני של המוצר. תציגו את המחיר בצורה כוללת ולא פר רכיב בנפרד. תדגישו שאתם מספקים ערך מוסף אמיתי, כמו שירות ... ניהול, ליווי אישי, ואחריות. תזכרו שאם אתם אנשי מקצוע איכותיים, אתם מוכרים שירות כולל ולא רק מפרט או חלקים טכניים. כך תוכלו להתמודד עם הפחד מתחרות עסקית, כי הלקוחות יבינו בדיוק על מה הם משלמים, ויבינו את היתרון המשמעותי שלכם מול המתחרים הזולים. איך להתמודד עם תחרות עסקית? האם כדאי לפרט את המפרט הטכני ללקוח? איך לכתוב הצעת מחיר? איך למכור מוצר יקר? מה לעשות כשהלקוח אומר שיקר לו? איך להתמודד עם מתחרים ... לו להשוות מחירים ולבחור את ההצעה הזולה ביותר. אבל אם אתם מנהלים עסק נכון, אתם לא מספקים רק מפרט טכני - אתם מספקים שירותים נוספים כמו: הרכבה מקצועית של המוצר ניהול הפרויקט או השירות אחריות ושירות לקוחות ייעוץ וליווי ... אין סיבה לפחד שהלקוח ייקח את המפרט שלכם ויחפש הצעה זולה יותר. אם אתם באמת מספקים ערך מעבר למפרט הטכני, תדגישו זאת, תפרטו את מה שאתם נותנים, ותגבו מחיר בהתאם לשירות הכולל שאתם מציעים. חפשו מידע נוסף באתר האינטרנט ...
טיפול רגשי, טיפול קוגניטיבי, יעוץ רגשי, שיטות טיפול, דרכי טיפול, גישות טיפוליות, יעוץ שכלי, טיפול שכלי, שכל או רגש, איזה טיפול הכי טוב? איזה טיפול מתאים לי? ריברסינג, מדיטציה, ויפאסנה
טיפול רגשי, טיפול קוגניטיבי, יעוץ רגשי, שיטות טיפול, דרכי טיפול, גישות טיפוליות, יעוץ שכלי, טיפול שכלי, שכל או רגש, איזה טיפול הכי טוב? איזה טיפול מתאים לי? ריברסינג, מדיטציה, ויפאסנה
... ולכל אחת יתרונות וחסרונות משלה. ההחלטה איזה טיפול מתאים תלויה בעיקר באופי הבעיה ובמטרת המטופל. מהי המשמעות של טיפול טכני והאם הוא יעיל? לעיתים, אנשים מתייחסים לפתרון שכלי או טכני כמשהו קר, טכני מדי, שאינו נותן מענה מספק לצד הרגשי של הבעיה. לדוגמה, כאשר אדם מתלונן שהוא נמצא בחדר חשוך ואינו יודע כיצד להדליק את האור, הפתרון הטכני הוא לומר לו בדיוק אילו צעדים לעשות כדי שהאור יידלק: ללכת מספר צעדים לצד מסוים, ללחוץ על מתג, וכך הלאה. אולם, אנשים עשויים להירתע מפתרונות טכניים משום שהם לא מבינים אותם או שהם נראים להם מסובכים מדי. מצד שני, אם הפתרון אכן עונה על הבעיה, העובדה שהוא טכני לא אמורה להוות מכשול. האם פתרון רגשי כמו חיבוק או סדנת מדיטציה יכול לפתור בעיות לעומק? אליעד מסביר כי ... חדשה ולשאול את עצמו שאלות כמו האם באמת אסור לי להרגיש בודד? ומתוך כך לחוות הקלה. השינוי אינו מגיע מהטכניקה עצמה, אלא מהמחשבות שהשתנו בעקבותיה. מדוע אנשים מתנגדים לפתרונות שכליים ומעדיפים פתרונות רגשיים? הסיבה העיקרית לכך שאנשים מתנגדים לפתרונות ... נפשיות? האם ריברסינג הוא פתרון אמיתי לבעיות רגשיות? איזה טיפול הכי יעיל לטיפול בבדידות? למה אנשים לא אוהבים פתרונות טכניים? איך משלבים טיפול רגשי עם שכלי?
מערכות יחסים, ניהול עובדים, יעוץ למנהלים, איך לנהל עובדים? טיפים לניהול עובדים, אימון למנהלים, איך להיעזר באנשים? איך להשפיע על אנשים? ניהול משא ומתן, גיוס משקיע, איך לעשות פרזנטציה?
מערכות יחסים, ניהול עובדים, יעוץ למנהלים, איך לנהל עובדים? טיפים לניהול עובדים, אימון למנהלים, איך להיעזר באנשים? איך להשפיע על אנשים? ניהול משא ומתן, גיוס משקיע, איך לעשות פרזנטציה?
... להיעזר באנשים? איך להשפיע על אנשים? ניהול משא ומתן, גיוס משקיע, איך לעשות פרזנטציה? איך להתמודד נכון עם בעיות טכניות בצוות? כאשר אנחנו נתקלים בבעיות טכניות בעבודה או בחיים האישיים, האינסטינקט הראשון שלנו הוא בדרך כלל לחפש פתרון טכני. למשל, אם מתקלקל לנו הרכב, הטלוויזיה או מכשיר אלקטרוני אחר, מיד נחפש מישהו עם הידע הנדרש שיתקן את הבעיה. אבל אליעד כהן מסביר שזו רק דרך אחת להסתכל על הבעיה. לדבריו, פעמים רבות הפתרון הטוב ביותר כלל אינו טכני אלא אנושי. לדוגמה, אם יש לך בעיה עם הרכב, אתה יכול לנסות לתקן בעצמך או למצוא מישהו עם הידע הטכני. אך למעשה, פעמים רבות הקושי האמיתי הוא לא הטיפול הטכני, אלא היכולת לשכנע אדם אחר לסייע לך. אם תדע לשכנע את הטכנאי או המוכר לעזור לך, אז בעצם פתרת את הבעיה. במילים אחרות, הדרך הנכונה לפתור בעיה טכנית היא לפעמים להבין שמדובר למעשה בבעיה ביחסי אנוש. אליעד נותן דוגמה נוספת - נניח שאתה רוצה ללכת לסרט מסוים וחברך רוצה ללכת לסרט אחר. אם תתייחס לכך כבעיה טכנית של בחירת סרט, אתה עלול להיתקע בוויכוח. אך אם תסתכל על העניין כבעיה אנושית ותנסה להבין לעומק מה מניע ... את הסיפור שלך והבקשה שלך לאינטרסים האישיים של אותו אדם. איך מנהלים עובדים בצורה יעילה? ניהול עובדים אינו עניין טכני בלבד. אליעד מסביר שכדי לנהל עובדים בצורה אפקטיבית, צריך להסתכל על העובדים כעל בני אדם עם צרכים ואינטרסים, ולא ... עובד לא מבצע את העבודה כמו שצריך, מנהל שלא מבין את הנקודה האנושית ינסה לפתור את הבעיה בעזרת הכשרה טכנית נוספת או לחץ. אך הגישה הזו לא תמיד תעבוד. לעומת זאת, אם המנהל ינסה להבין לעומק מה מניע את ... עסקית תלויה בדינמיקה האנושית שבין אנשים בצוות. אליעד מציין כי עובדים הם לא רובוטים. כאשר מנהלים מתייחסים לעובדים בצורה טכנית בלבד - כאילו הם רק אמצעי להשגת מטרות - נוצרת בעיה. במקום זאת, צריך להבין שעובדים הם אנשים שמחפשים ... טיפים לניהול עובדים איך להשפיע על אנשים? ניהול משא ומתן איך לעשות פרזנטציה? מהי הדרך הנכונה להתמודד עם בעיות טכניות וקשיים בעבודת צוות? במהלך ההרצאה, אליעד מציין את החשיבות בהבנת הבעיה באופן עמוק יותר ממה שנראה במבט ראשון. פעמים רבות אנו נתקלים בבעיות טכניות, אך הדרך לפתור אותן לא תמיד קשורה לפתרונות טכניים. אליעד מדבר על כך שלפעמים יש להתייחס לבעיה כבעיה אנושית ולא טכנית. דוגמה לכך היא כאשר אדם נתקל בבעיה טכנית במערכת או במוצר, לדוגמה תיקון רכב או טלוויזיה. לעיתים, הפתרון לא טמון בידע טכני בלבד, אלא ביכולת לשכנע אחרים (כמו טכנאים או מוכרים) לעזור ולפתור את הבעיה. זה לא מספיק לדעת איך לתקן ... האחרים כדי להשפיע עליהם בצורה חיובית. דיבורים על פתרון בעיות או הצגת דרכים להשפיע על אחרים יכולים להיראות כמשימות טכניות, אך למעשה מדובר במשחק אנושי בו יש להתמקד בהבנה של הצרכים והתחושות של הצד השני. הוא מציין שמספר פעמים המפתח להשפעה הוא לא בהכרח בכישורים טכניים או ביכולת לבצע משימות בצורה מהירה, אלא ביכולת להבין את הצרכים של האנשים שמסביבנו ולחבר אותם אלינו. אליעד מציין ... בצורה אפקטיבית. אליעד מציין שבמקרים רבים, כאשר עובדים לא מבצעים משימות, הבעיה לא טמונה בהבנה של העבודה או במיומנויות טכניות. פעמים רבות, מדובר בבעיה אנושית - כלומר, כיצד להבין את העובד ולעזור לו להתמקד במשימות בדרך שתהיה לו משמעות. ... עם אתגרים בעסקים ובחיים האישיים? במהלך ההרצאה, אליעד גם מדבר על איך להתמודד עם אתגרים גדולים. במקום להתמקד בהיבט הטכני של הבעיה, לעיתים הפתרון טמון בשיחה עם אחרים וביכולת לשכנע אותם לעזור. אליעד מדגיש שצורת חשיבה זו יכולה לשפר את הגישה לכל בעיה, אם נשקול את כל האפשרויות האנושיות שעומדות בפנינו. לפעמים, מה שמסתמן כבעיה טכנית, למעשה טמון בשורש האנושי של הסיטואציה. אם נתמקד בהבנת הזווית האנושית של הבעיה, נוכל ליצור קשרים שמאפשרים לעובדים, ללקוחות ...
ספרים מומלצים עבורך - ספרים על חידת LeetCode Solution - Block Placement Queries, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח תוכנה, איך לכתוב קוד? ללמוד לכתוב קוד, חידות היגיון, ללמוד לחשוב, ללמוד לנתח דברים, ללמוד לפרק לגורמים, ללמוד לחלק לחלקים, ללמוד למצוא חוקיות, איך לחלק לחלקים? איך למצוא חוקיות? לנתח תהליכים
 👈1 ב 150  👈4 ב 400     ☎️ 050-3331-331    שליח עד אליך - בחינם!
שקט נפשי אמיתי - הספר על: טכני, איך להתמודד עם בעיות ריכוז והפרעת קשב וריכוז? איך להתמודד עם לחץ? איך להתמודד עם רגשות אשם ושנאה עצמית? איך להתמודד עם אכזבות? כעס ועצבים? איך להתמודד עם חרדות + פחדים של ילדים? איך לשכוח אקסים ולא להתגעגע? איך להתמודד עם שמיעת קולות בראש? איך להתמודד עם הפרעות קשב וריכוז? איך להשיג איזון נפשי? איך להתמודד עם הזיות / דמיונות שווא / פרנויות / סכיזופרניה / הפרעת אישיות גבולית? איך להתמודד עם OCD / הפרעה טורדנית כפייתית / אובססיות / התנהגות כפייתית? איך להתמודד עם פחד קהל ופחד במה / פחד להתחיל עם בחורות / פחד להשתגע / פחד לאבד שליטה / חרדת נטישה / פחד מכישלון / פחד מוות / פחד ממחלות / פחד לקבל החלטה / פחד ממחויבות / פחד מבגידה / פחד מיסטי / פחד ממבחנים / חרדה כללית / פחד לא ידוע / פחד מפיטורים / פחד ממכירות / פחד מהצלחה / פחד לא הגיוני ועוד? איך להתמודד עם אהבה אובססיבית? איך להתמודד עם חלומות מפחידים וסיוטים בשינה? איך להתמודד עם מאניה דיפרסיה ועם מצבי רוח משתנים? איך להתמודד עם התקפי חרדה ופאניקה? איך להתמודד עם בדידות? איך להתמודד עם עצבות? איך להתמודד עם הפרעות התנהגות אצל ילדים? דיכאון? איך להתמודד עם כל סוגי הפחדים והחרדות שיש? מועקות נפשיות וייאוש? איך להתמודד עם ביישנות וחרדה חברתית? איך להתמודד עם תסמינים של חרדה? איך להתמודד עם טראומה ופוסט טראומה ועוד...

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

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

חפש:   מיין:

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