課堂練習 找水王 4 21

2022-06-02 17:33:07 字數 844 閱讀 4169

題目:

三人行設計了乙個灌水論壇。資訊學院的學生都喜歡在上面交流灌水,傳說在論壇上有乙個「水王」,他不但喜歡發帖,還會回覆其他id發的每個帖子。坊間風聞該「水王」發帖數目超過了帖子數目的一半。

一、設計思想

剛開始設想的思路是先將其進行排序,由於水王出現的次數大於帖子數目的一半,所以在排序的中點處一定是水王。

後來在老師的提點下,感覺用消消樂的方法是個不錯的選擇,只不過我的方法是消去不同的兩項,由於水王發帖數大於帖子總數的一半,所以消到最後剩下的一定是水王。

二、源**

1 #include2

intmain()

314 shuiwang=a[0

];15

for(i=1;i)

162627}

28else

293334}

35 cout<

水王id為:

"36return0;

37 }

三、實驗結果截圖

四、實驗總結

本次實驗讓我深深體會到了解決辦法的方式有很多,選擇一種合適的很重要。在解決乙個問題前,最重要的不是立刻去編寫程式,而是要分析怎樣解決這個問題才最快,最節省時間。乙個好的思路,往往比你程式設計更重要。

課堂練習 找水王

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

課堂練習 找「水王」

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

課堂練習 找水王

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