ABA


"מנסה להוריד את החלודה בג'אווה, מי יכול להביא לי פתרון יותר יפה לתרגיל הזה"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21914 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21914
jon snow לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.7.13
655 הודעות, 1 פידבק, 1 נקודות
   10:19   19.01.17   
אל הפורום  
  מנסה להוריד את החלודה בג'אווה, מי יכול להביא לי פתרון יותר יפה לתרגיל הזה  
 
   ערכתי לאחרונה בתאריך 19.01.17 בשעה 10:45 בברכה, jon snow
 
Return the "centered" average of an array of ints, which we'll say is the mean average of the values, except ignoring the largest and smallest values in the array. If there are multiple copies of the smallest value, ignore just one copy, and likewise for the largest value. Use int division to produce the final average. You may assume that the array is length 3 or more.

centeredAverage() → 3
centeredAverage() → 5
centeredAverage() → -3

הפתרון שלי שעובד אבל לא משהו בכלל לדעתי (יש לי מבחן ביום ראשון עבור איזה משרה והרבה זמן לא נגעתי בג'אווה)
יש עוד פתרון שחשבתי עליו אבל לא היה לי כח לממש זה מרג' סורט על המערך ופשוט להתחיל את הסכימה בלולאה ממקום 1 עד מקום לפני אחרון


public int centeredAverage(int nums) {
int min = nums{0};
int max = nums{0}};
int sum = 0;
for (int i = 0 ; i < nums.length ; i++){
if (nums > max){
max = nums;
}
if(nums{i} < min){
min = nums{i};
}
sum += nums{i};
}
sum -= max;
sum -= min;
return sum/(nums.length-2);
}

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


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  בגדול זה דווקא נראה בסדר גמור simond15  19.01.17 13:05 1

       
simond15  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 21.8.10
1144 הודעות, 3 פידבק, 6 נקודות
   13:05   19.01.17   
אל הפורום  
  1. בגדול זה דווקא נראה בסדר גמור  
בתגובה להודעה מספר 0
 
   מבחינת יעילות הפיתרון עם המרג' סורט יהיה פחות טוב כי הוא ירוץ בסיבוכיות של nlogn ואתה עושה את זה בסיבוכיות של n.
בif השני שלך, הייתי משתמש ב else if במקום if.

בכל מקרה, אני לא ממש מכיר ג'אווה, אבל אם אתה רוצה שזה יראה "יותר יפה" אז אני בטוח ב-100% שיש פונקציות ספרייה שמחזירות min,max,sum...



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net