פורסם 2010 בדצמבר 315 שנים שלום לכולםמישהו בבקשה יכול לעזור לי לפתור את השאלה הבאה:כתוב פעולה המקבלת שני מערכים של מספרים שלמים,a ו-b. הפעולה מחזירה מערך חדש שהוא מכפלת שני המערכים a ו-b/הקפידו שסדר הגודל של הפעולה יהיה (O(n.נלקח מספר עיצוב תוכנה מבוסס עצמים בשפת C# - פרק 5 - יעילות - ע"מ 146 שאלה 17.להלן קישור: http://sites.huji.ac.il/science/unit4_2007/Csharp/chap5-Effic-CS.pdf הצלחתי ליצור פעולה שתעשה את זה, הבעיה היא שסדר גודל הפעולה שלי הוא (O(n^2. אשמח אם מישהו יוכל לומר לי איך אני יכול לפתור את השאלה הזאת שסדר גודלה יהיה רק (O(n
פורסם 2010 בדצמבר 315 שנים מחבר הצלחתי: public static int[] Multiply(int[] arr1, int[] arr2) { int[] multi = new int[arr1.Length]; int sum = 0; for (int i = 0; i < arr2.Length-1; i++) { sum = sum + arr2[i]; } for (int i = 0; i < arr1.Length-1; i++) { multi[i] = arr1[i] * sum; } return multi; }השאלה עם זה נחשב מסדר גדול n עם השתמשתי בשתי לולאות
פורסם 2010 בדצמבר 415 שנים השיטה שלך לא עושה את הנדרש בשאלה... אתה כפלת את כל התאים במערך ויצרת סכום.ביקשו ממך מערך שהוא כפל 2 המערכים...כלומר משהו כזה:[4] * [4] = [4][3] * [3] = [3][2] * [2] = [2][1] * [1] = [1]והפלט הוא המערך השלישי.דוגמה: (לא ציינת אם המערכים זהים או שונים בגודלם, הנחתי שהם זהים, אחרת התוכנית קורסת) public static int[] Multiply(int[] arr1, int[] arr2) { int[] multi = new int[arr1.Length]; for (int i = 0; i < arr1.Length-1; i++) { multi[i] = arr1[i] * arr2[i]; } return multi; }
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.