隨堂練習 找水王2

2022-01-12 21:58:49 字數 545 閱讀 8529

問題描述:

在上一次練習的基礎上,大水王消失了,出現了3個小水王,且每個水王發帖的數量都超過1/4.找出3水王

解決思路:

這1次我們可以通過六個變數來推導出三水王,每兩個代表乙個水王,其中乙個表示 id,另乙個用來使用消除法抵消次數,因為每個水王發帖量都超過1/4,所以一遍執行下來,三水王的id出現次數都不會被抵消

#include

#include

using namespace std;

int main()

;int court[3] = ;  //用於計數

int id[3] = ;         //記入id

/*使用消去法,讀入乙個id,與id陣列相比較。

1、id陣列中含有對應id則相應court+1;

2、如果對應陣列id都沒有與之對應,那麼檢視是否有id對應court==0,如果有則替換對應id;

3、條件一和條件二都沒有滿足則,court陣列都減1;

*/for (int i = 0; i

執行結果截圖:

課堂練習 找水王

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

課堂練習 找「水王」

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

課堂練習 找水王

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