課堂練習 找水王

2022-09-17 05:21:12 字數 647 閱讀 8402

一,設計題目

二,設計思路

1)對所有id進行排序,再掃瞄已經排好序的id,查詢發帖最多的水王id

2)再思路1的基礎上,仔細分析題目,根據水王發帖數目超過帖子數目一半可知道這個id序列最中間的id一定就是水王的id

3)每次刪除兩個不同的id(不管是否包含水王的id),那麼,在剩下的id列表中,水王id出現的次數仍然超過總數的一半。可以通過不斷重複這個過程,把id列表中的id總數降低,從而得到水王id,該思路對比前兩種方便之處在於不用進行排序。

三,設計**

#includeint

main()

}cout

<

水王id為

"return0;

}

四,實驗截圖

五,實驗體會

許多看起來一眼就能找到簡單方法的題目往往存在優化的空間,所以通過這次與上次電梯排程的實驗體會到了,分析題目的重要性,學會尋找簡便方法。而且事物都具有普遍性所以我認為這類題目10個足以說明問題。

課堂練習 找水王

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

課堂練習 找「水王」

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

課堂練習 找水王

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