課堂作業 找水王

2022-04-20 23:16:33 字數 1047 閱讀 9438

題目:

設計思路:

輸入發帖id記錄表,從第乙個id開始,與後續的發帖id進行比較,若相同計數器則加一,否則減一。若計數器的數值被減為零,則重新選取當前id開始記錄比較。並且每次在相同的情況下,記錄相同數的個數,同時輸出結果的時候進行判斷,是否有水王。最後並輸出結果。

源**:

#includeusing

namespace

std;

int findwaterking(int idnum,int m,int &waterking)

else

//計數不等於0

else

count--; //

計數減1

}

}return

count1;

}int

main()

num=findwaterking(idnum,n,waterking);

if(num>(n/2

)) cout

<

水王是:

"else

cout

<

沒有水王!!!

"<

return0;

}

截圖:

四、個人總結

本次實驗是找水王的第一次作業,有很多方法都可以實現,我採用的是這種方法,其中需要測試邊界條件,若出現沒有水王的情況就會出現錯誤,

每次寫程式都要做單元測試 ,測試不同的邊界條件。

課堂練習 找水王

一 題目及題目要求 二 設計思路 1 把帖子列表,抽象為乙個一維陣列arr num 輸入長度length為id總數,每個陣列元素為乙個id。2 再設定乙個迴圈,按照順序來依次兩兩比較,如果作者id相同則保留,如果作者id不同則消除。3 最後剩下id即為水王id 三 源程式 includeusing ...

課堂練習 找「水王」

一 題目要求 現有乙個灌水論壇,資訊學院的學生都喜歡在上面交流灌水。傳說在論壇上有乙個 水王 它不但喜歡發帖,還會回覆其他id發的每個帖子。坊間風聞該 水王 發帖數目已超過了帖子數目的一半。二 設計思路 本題要求時間複雜度是o n 我們可以設定乙個計數器flag,和乙個變數shuiwang存放當前的...

課堂練習 找水王

題目 設計思想 最簡單的思路就是 統計每乙個id出現的次數,然後找出出現最多的id就是水王。第二種更優的思路就是 利用水王發帖次數大於一半,然後兩兩一消,從第乙個數開始,如果等於它的下一位,number 1,如果不等於,number 1,不等於相當於把這兩個帖子都刪除,直接從這兩個的後乙個開始。最後...