בהינתן מערך של מספרים שלמים אי-שליליים arr, יש לבדוק מהו ההפרש המינימלי שניתן לקבל על-ידי חלוקת המערך לשתי קבוצות זרות של מספרים אשר איחודן הוא המערך המקורי, וההפרש (בערך מוחלט) בין סכומי הקבוצות הוא המינימלי האפשרי. ולהחזיר את ההפרש הזה.
השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.
אין צורך להדפיס או להחזיר את הקבוצות השונות. רק להחזיר את ההפרש המינימלי בין סכומי הקבוצות.
אין לשנות את תוכן המערך arr (אפילו לא זמנית)
arr = [5, 2, 4]
1
הסבר: ההפרש המינימלי בין שתי קבוצות במערך {5, 2, 4} הוא 1, כאשר חלוקה אחת היא {5} ושנייה היא {2, 4}.
arr = [1, 2, 3, 4]
0
הסבר: ההפרש המינימלי בין שתי קבוצות במערך {1, 2, 3, 4} הוא 0, כאשר חלוקה אחת היא {1, 4} ושנייה היא {2, 3}.
arr = [1, 2, 7, 17, 6]
1
הסבר: ההפרש המינימלי בין שתי קבוצות במערך {1, 2, 7, 17, 6} הוא 1, כאשר חלוקה אחת היא {1, 2, 7, 6} ושנייה היא {17}.
arr = [7]
7
הסבר: עבור מערך עם איבר אחד, ההפרש המינימלי הוא הערך עצמו כנגד 0.
arr = [1, 1, 2]
0
הסבר: ההפרש המינימלי בין שתי קבוצות במערך {1, 1, 2} הוא 0, כאשר חלוקה אחת היא {1, 1} ושנייה היא {2}.
arr = [3, 3]
0
הסבר: ההפרש המינימלי בין שתי קבוצות במערך {3, 3} הוא 0, כאשר חלוקה אחת היא {3} ושנייה היא {3}.
arr = [1, 5, 6]
0
הסבר: ההפרש המינימלי בין שתי קבוצות במערך {1, 5, 6} הוא 0, כאשר חלוקה אחת היא {1, 5} ושנייה היא {6}.
arr = [10, 20]
10
הסבר: ההפרש המינימלי בין שתי קבוצות במערך {10, 20} הוא 10, כאשר חלוקה אחת היא {10} ושנייה היא {20}.
קלט:
arr = [5, 2, 4]
הפלט המבוקש:
1