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






☎️
ייעוץ אישי בכל נושא!
050-3331-331
🖨חידת LeetCode Solution - Minimum Cost to Equalize Array, פתרון ליטקוד, LeetCode Solution, לפתור שאלות ב LeetCode, מדעי המחשב, תכנות מחשבים, לעבוד בהייטק, ללמוד תכנות מחשבים, להיות מתכנת, ללמוד לתכנת, הכנה לראיון טכני, ראיון עבודה בהייטק, שאלות ליטקוד, פיתוח תוכנה, איך לכתוב קוד? ללמוד לכתוב קוד, חידות היגיון, ללמוד לחשוב, ללמוד לנתח דברים, ללמוד לפרק לגורמים, ללמוד לחלק לחלקים, ללמוד למצוא חוקיות, איך לחלק לחלקים? איך למצוא חוקיות? לנתח תהליכים
והפעם נדבר על שאלת 3139. LeetCode - Minimum Cost to Equalize Array הבאה:
You are given an integer array nums and two integers cost1 and cost2. You are allowed to perform either of the following operations any number of times:

Choose an index i from nums and increase nums[i] by 1 for a cost of cost1.

Choose two different indices i, j, from nums and increase nums[i] and nums[j] by 1 for a cost of cost2.

Return the minimum cost required to make all elements in the array equal.

Since the answer may be very large, return it modulo 109 + 7.

Example 1:

Input: nums = [4,1], cost1 = 5, cost2 = 2

Output: 15

Explanation:

The following operations can be performed to make the values equal:

Increase nums[1] by 1 for a cost of 5. nums becomes [4,2].

Increase nums[1] by 1 for a cost of 5. nums becomes [4,3].

Increase nums[1] by 1 for a cost of 5. nums becomes [4,4].

The total cost is 15.

Example 2:

Input: nums = [2,3,3,3,5], cost1 = 2, cost2 = 1

Output: 6

Explanation:

The following operations can be performed to make the values equal:

Increase nums[0] and nums[1] by 1 for a cost of 1. nums becomes [3,4,3,3,5].

Increase nums[0] and nums[2] by 1 for a cost of 1. nums becomes [4,4,4,3,5].

Increase nums[0] and nums[3] by 1 for a cost of 1. nums becomes [5,4,4,4,5].

Increase nums[1] and nums[2] by 1 for a cost of 1. nums becomes [5,5,5,4,5].

Increase nums[3] by 1 for a cost of 2. nums becomes [5,5,5,5,5].

The total cost is 6.

Example 3:

Input: nums = [3,5,3], cost1 = 1, cost2 = 3

Output: 4

Explanation:

The following operations can be performed to make the values equal:

Increase nums[0] by 1 for a cost of 1. nums becomes [4,5,3].

Increase nums[0] by 1 for a cost of 1. nums becomes [5,5,3].

Increase nums[2] by 1 for a cost of 1. nums becomes [5,5,4].

Increase nums[2] by 1 for a cost of 1. nums becomes [5,5,5].

The total cost is 4.

Constraints:

1 <= nums.length <= 105

1 <= nums[i] <= 106

1 <= cost1 <= 106

1 <= cost2 <= 106
אז קודם כל נסביר את השאלה שהולכת כך:

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

לדוגמה, נניח שאנחנו רוצים להפוך את המספר 2 למספר 5, אז אנחנו צריכים לעשות 2+1+1+1 = 5. דהיינו, אנחנו צריכים להוסיף 3 פעמים את הערך 1, למספר 2, כדי להפוך את המספר 2 למספר 5.

ובדוגמה הנ"ל [2,3,3,3,5], המספר הגדול ביותר ברשימה, הוא 5 ולכן אנחנו נרצה להפוך את כל המספרים לערך 5, דהיינו, שבסוף התהליך הרשימה תיראה כך: [5,5,5,5,5]. ולשם כך עלינו לעשות 9 פעולות של הוספת הערך 1, לכל אחד מהמספרים, כדי שבסופו של תהליך, כל הערכים יהיו זהים לערך של המספר הגדול ביותר.

את זה נעשה באמצעות פעולות ההוספה הבאות: [2+1+1+1, 3+1+1, 3+1+1, 3+1+1, 5]. דהיינו, באמצעות 9 פעולות הוספה של הערך 1, נוכל להפוך את כל הערכים שברשימה לערך הגדול ביותר, שהוא הערך 5.

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





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





או לדוגמה כך:





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

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

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

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

לדוגמה, נניח שמחיר1 (COST1) הוא 2 אז אם נבצע 9 פעולות של הוספת 1, הרי שעלות ההוספות תהיה 18. ואם נניח שמחיר2 (COST2) הוא 1, אז בדוגמה הנ"ל נבצע 4 הוספות של מחיר2, דהיינו, עלות 4, כי לכל פעולת הוספה יש עלות של 1. ובנוסף נוסיף עוד עלות של מחיר1 שהיא 2. והרי שיש לנו עלות של 6.

כי בדוגמה הנ"ל עשינו 4 הוספות כפולות בעלות של מחיר2 שהוא 1. 4*1=4. ועשינו גם פעולה אחת של הוספה 1 שהיא בעלות של מחיר1 שהוא 2. ואז 4+2 = 6.

כמו בדוגמה שהם הביאו
Example 2:

Input: nums = [2,3,3,3,5], cost1 = 2, cost2 = 1

Output: 6

Explanation:

The following operations can be performed to make the values equal:

Increase nums[0] and nums[1] by 1 for a cost of 1. nums becomes [3,4,3,3,5].

Increase nums[0] and nums[2] by 1 for a cost of 1. nums becomes [4,4,4,3,5].

Increase nums[0] and nums[3] by 1 for a cost of 1. nums becomes [5,4,4,4,5].

Increase nums[1] and nums[2] by 1 for a cost of 1. nums becomes [5,5,5,4,5].

Increase nums[3] by 1 for a cost of 2. nums becomes [5,5,5,5,5].

The total cost is 6.
ועכשיו השאלה הנשאלת היא כדלקמן:

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

[1, 42, 73, 18, 90, 55, 7, 29, 84, 12, 67, 3, 99, 50, 23, 88, 36, 61, 9, 77, 45, 14, 70, 2, 85, 31, 64, 6, 93, 38, 81, 16, 97, 53, 26, 71, 4, 89, 34, 59, 11, 66, 1, 44, 79, 21, 95, 51, 24, 87, 33, 68, 8, 74, 19, 92, 57, 13, 78, 30, 83, 17, 96, 52, 27, 72, 5, 90, 35, 60, 10, 65, 0, 43, 80, 22, 94, 49, 20, 86, 32, 67, 7, 75, 100, 98, 54, 28, 73, 3, 88, 39, 82, 16, 91, 56, 12, 76, 25, 69, 9, 94, 48, 21, 97, 50, 23, 89, 37, 62, 4, 79, 18, 93, 58, 14, 81, 28, 85]

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


ועכשיו נצעד אל התשובה כך:

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

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

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

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

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

ונעצור כאן לרגע וננתח את הנ"ל.

בעצם יש לנו כאן כמה שלבים.

שלב 1 - איתור המספר הגדול ביותר ברשימה. שלצורך העניין ברשימה הנ"ל המספר הגדול ביותר הוא 100.

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

שלב 3 - עלינו לעבור על כל הרשימה ולסכום את הכמות של כל פעולות ההוספה.

שלב 4 - עלינו להכפיל את כמות פעולות ההוספה, בעלות של מחיר1

וכך יש לנו את התוצאה, של מה העלות שלנו ליישר את כל הרשימה כלפי מעלה.

או שיכולנו גם בשלב 3 - לחשב את העלות של ליישר את המספר הנוכחי כלפי מעלה.

ובשלב 4 - לעבור על כל הרשימה ולסכום את כל העלויות.

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


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

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

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


אבל זאת לא כל האמת. כי בפועל, אפשרי לרוץ פעם אחת על כל הרשימה ולבצע בריצה אחת את הפעולות הבאות:

1 - לנסות לאתר כל המספר הגדול ביותר.

2 - באותה ריצה, לסכום את כל הערכים שיש לנו ברשימה. דהיינו, הערך במיקום 1 + הערך במיקום 2 + הערך במיקום 3 וכולי, כמו שהם, בלי לבצע שום חישוב נוסף.

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

ואז מכך נוכל לבצע חישוב של: הערך הגדול ביותר, כפול כמות המספרים ברשימה. ואז נוכל להסיק מכך את הערך המקסימאלי שהיה, אם כל הערכים ברשימה היו בגודל של הערך הגדול ביותר. לדוגמה במקרה הנ"ל, 50 ערכים 100 שהוא הערך הגדול ביותר, = 5000. עכשיו, אם נסכום את כל המספרים, אז נראה שהערך שלהם הוא X. ואז 5000 פחות X, זה בעצם ההפרש שבין הערכים הנוכחיים לבין מקרה שבו כל הערכים היו באותו הגודל המקסימאלי. ו ה X הזה, מייצג את כמות פעולות ההוספה שנצטרך לעשות, כדי להביא את כל המספרים לערך המקסימאלי שלהם.


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

נניח שהרשימה היא כזאת: [2,3,3,3,5] כנ"ל.

דהיינו:

MAX = 5

N = 5

אז לכאורה עלינו לבצע את הפעולות הבאות:

(5-2=3) + (5-3=2) + (5-3=2) + (5-3=2) = 9 פעולות

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

(5 * 5 = 25) דהיינו, המקסימאלי שהיה אם כל הערכים היו זהים לערך הגדול ביותר, שהוא 5 כנ"ל.

(2+3+3+3+5 = 16) דהיינו, סכום נוכחי של כל הערכים.

ואז: 25-16=9. דהיינו, עלינו לבצע 9 הגדלות, כדי ליישר את כל הערכים כלפי מעלה.

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


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

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

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

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


אבל כרגע נחזור לנתח את השאלה המקורית.

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

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

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

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

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

ואחרי שנדע את כל זה, עכשיו נוכל לחשב את העלות של כל ההגדלות.

עד כאן זה בעצם סיכום ביניים של מה שהבנו עד כה.


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

ואיך ניגשים לפתור את החלק הזה של השאלה?

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

אבל זהו כמובן חישוב לא יעיל מבחינת זמן ריצה.

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

דהיינו, אם ננתח את כל האפשרויות, נראה שבסופו של דבר, יש רק 3 אפשרויות אפשריות. שהן:

מבחינת המחיר שנשלם:

1 - זה לא משנה אם נבצע הגדלה בודדת או הגדלה כפולה.

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

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

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


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

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

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

אם מחיר1 * 2 הוא גדול ממחיר2, אז בכל מקרה עדיף תמיד קודם כל לעשות כמה שיותר הגדלות כפולות ורק אחר כך בלית ברירה, לעשות הגדלות בודדות.

לדוגמה:

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


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

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

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

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

ואז, ניקח את סך כל ההגדלות שצריך לבצע, נניח 500. ונניח שניתן לבצע מתוך זה 100 הגדלות כפולות. אז נוכל להסיק, שנעשה 100 הגדלות כפולות (סה"כ 200) ונצטרך לבצע עוד 300 הגדלות בודדות. ומכך נוכל לחשב את העלות המינימלית, בהכפלה של מחיר1 + מחיר2 בהתאם.

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


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

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

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

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

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

ואם יש לנו רשימה של [1, 1, 100]. במקרה כזה נוכל לבצע 99 הגדלות כפולות, שיביאו את הרשימה ל [100,100,100].

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

ומה יקרה אם תהיה לנו רשימה כזאת [1,1,1,100] כמה הגדלות כפולות נוכל לבצע עכשיו? אז אם נבדוק נראה שאנחנו צריכים לבצע 99*3 הגדלות. דהיינו, 297 הגדלות. ואת זה ניתן לבצע באמצעות, 148 הגדלות כפולות + הגדלה אחת בודדת.

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

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

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

[1,1,100]

[1,1,1,1,100]

[1,1,1,1,1,1,100]

[1,1,1,1,1,1,1,1,100]

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

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

[1,100]

[1,1,1,100]

[1,1,1,1,1,100]

[1,1,1,1,1,1,1,100]

אז נצטרך לבצע את החישוב הבא:

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

[2,100]

[2,2,2,100]

[2,2,2,2,2,100]

[2,2,2,2,2,2,2,100]

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

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

[1,100]

[1,1,1,100]

[1,1,1,1,1,100]

[1,1,1,1,1,1,1,100]

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


אבל כל מה שאמרנו עד כאן, נכון, אבל באופן חלקי.

ניקח לדוגמה מבני עמודות כאלו:





את כל המבני האלו, נוכל לפתור אותם בהגדלות כפולות ללא בעיה כנ"ל.

ומה לגבי מבנה כזה:





גם אותו נוכל לפתור בהגדלות כפולות.

אבל מה לגבי מבנה כזה:





מבנה כזה, נוכל לפתור אותו ב 2 הגדלות כפולות + הגדלה 1 בודדת.

ומה לגבי מבנים כאלו?





גם אותם לא נוכל לפתור בהגדלות כפולות, אלא נצטרך כמות של הגדלות בודדות.


אז מה החוקיות כאן?

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





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

ואם נסתכל על המקרים הבאים:





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


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

אז החוקיות אומרת כך:

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

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

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

עכשיו, אם ננתח בצורה ידנית המון מקרים, נראה כי בעצם בהינתן רשימת מספרים כלשהי, הרי שיש לנו עמודה אחת או יותר של הערך MAX. ויש לנו עמודה אחת או יותר...
איך להתראיין אמת עבודה בהייטק לנתח שאלות חוקיות של תהליך היגיון מבצע לעלות חידה בקלות איך להיות מתכנת 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 - Minimum Cost to Equalize Array, פתרון ליטקוד, 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.3887 שניות - עכשיו 01_09_2025 השעה 06:37:25 - wesi1