נתונות ההגדרות הבאות: "משקל" של מספר שלם הוא סכום הספרות של המספר. לדוגמה: המשקל של 123 הוא 6; המשקל של 345 הוא 12; המשקל של 8 הוא 8. מערך של מספרים שלמים נקרא "מערך בלי חזרות משקל" אם ה"משקלים" של כל איברי המערך שונים זה מזה. שני מערכים של מספרים שלמים arr1 ו-arr2 נקראים "זהים לפי משקל" אם הם "מערכים בלי חזרות משקל" ולכל איבר ממערך arr1 יש איבר במערך arr2 בעל אותו "משקל".
סעיף א
כתוב פעולה אשר מקבלת מספר שלם ומחזירה את ה"משקל" שלו.
public static int weight(int num)
סעיף ב
כתוב פעולה אשר מקבלת מערך חד-ממדי של מספרים שלמים ומחזירה true אם המערך הוא "מערך בלי חזרות משקל", ולא הפעולה תחזיר false.
public static boolean isNoWeightRepeat(int[] arr)
סעיף ג
כתוב פעולה אשר מקבלת שני מערכים חד-ממדיים של מספרים שלמים. הפעולה מחזירה true אם המערכים "זהים לפי משקל", ולא הפעולה תחזיר false.
public static boolean sameByWeight(int[] arr1, int[] arr2)
סעיף ד
מהן סיבוכיות זמן הריצה של הפעולות שכתבת בסעיפים ב' ו-ג'? הסבר את תשובתך.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.