7 תשובות
לולאה מקוננת
שואל השאלה:
תיקנתי את השאלה
תיקנתי את השאלה
אנונימי
אה, קל יותר
יש לזה sort כלשהו או אריה במדבר לא זוכרת איך קראו לזה
יש מיליון ואחת דרכים לעשות את זה הכי קל זה פשוט בלולאה עד שarr[i] = num
יש לזה sort כלשהו או אריה במדבר לא זוכרת איך קראו לזה
יש מיליון ואחת דרכים לעשות את זה הכי קל זה פשוט בלולאה עד שarr[i] = num
לולאת for שתעבור עם i על כל המערך ותכניס למשתנה כל פעם אם המספר גבוה יותר מהמספר האחרון שיש במשתנה
כמובן שיש ספריות שעושות את זה כמו math וכו
באיזו שפה?
כמובן שיש ספריות שעושות את זה כמו math וכו
באיזו שפה?
הפתרון הקל אבל לא יעיל זה פשוט לרוץ על כבר אברי המערך עד שתמצא את המספר ותחזיר את האינדקס שלו אבל זה לא יעיל כי זה פתרון בזמן ריצה של on
אם אתה רוצה לעבוד יעיל תשתמש באלגוריתם של חיפוש בינארי
בצורה כזאת
int low = 0;
int high = a.length-1;
int mid,num1,i;
while (low <= high)
{
mid = (low + high) / 2;
num1 = a[mid];
if (num1 == num)
{
return (mid);
}
if (num1 > num)
{
high = mid -1;
}
else
{
low = mid + 1;
}
}
אם אתה רוצה לעבוד יעיל תשתמש באלגוריתם של חיפוש בינארי
בצורה כזאת
int low = 0;
int high = a.length-1;
int mid,num1,i;
while (low <= high)
{
mid = (low + high) / 2;
num1 = a[mid];
if (num1 == num)
{
return (mid);
}
if (num1 > num)
{
high = mid -1;
}
else
{
low = mid + 1;
}
}
זה נראה קצת לא יפה ומסודר הקוד פה חח
אני כתבתי לך אותו ב- java אבל העיקרון יעבוד בכל שפה (a זה המערך)
תממש אותו בשפה שאתה כותב
אני כתבתי לך אותו ב- java אבל העיקרון יעבוד בכל שפה (a זה המערך)
תממש אותו בשפה שאתה כותב
שואל השאלה:
תודה רבה
תודה רבה
אנונימי
באותו הנושא: