Re: [問題] 用最少比較次數找最大、最小等值
看板Prob_Solve (計算數學 Problem Solving)作者cocoyan (摳摳厭)時間8年前 (2016/07/04 03:52)推噓3(3推 0噓 7→)留言10則, 4人參與討論串2/3 (看更多)
※ 引述《lionhome20 (林北大GG)》之銘言:
: 各位神人好
: 想請問在int array[5000]裡
: 如何用最少的compare次數
: 找出最大 最小 次大 次小的值
: 有沒有小於下列5000*4次 compare的找法
: (找每一個數都用暴力法)
: for(i=0;i<5000;i++)
: if(array[i] > Max)
: Max = array[i]
: 感謝
int Max;
int Max2;
int Min;
int Min2;
if(array[0]>array[1])
{
Max=array[0];
Max2=array[1];
Min=array[1];
Min2=array[0];
}
else
{
Max=array[1];
Max2=array[0];
Min=array[0];
Max2=array[1];
}
for(i=2;i<5000;i++)
{
if(array[i]>Max)
{
Max=array[i];
Max2=Max;
}
if(array[i]<Min)
{
Min=array[i];
Min2=Min;
}
}
應該是9997次比較
有誤請指正
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.230.110
※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1467575552.A.898.html
→
07/04 04:34, , 1F
07/04 04:34, 1F
→
07/04 09:48, , 2F
07/04 09:48, 2F
推
07/04 09:55, , 3F
07/04 09:55, 3F
→
07/04 09:55, , 4F
07/04 09:55, 4F
→
07/04 09:55, , 5F
07/04 09:55, 5F
推
07/04 14:22, , 6F
07/04 14:22, 6F
→
07/04 14:31, , 7F
07/04 14:31, 7F
→
07/04 14:33, , 8F
07/04 14:33, 8F
→
07/04 14:34, , 9F
07/04 14:34, 9F
推
07/04 20:56, , 10F
07/04 20:56, 10F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章