課堂練習 找「水王」

2022-06-24 19:39:12 字數 924 閱讀 4689

一、題目要求

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

二、設計思路

本題要求時間複雜度是o(n),我們可以設定乙個計數器flag,和乙個變數shuiwang存放當前的id,當flag為0時,將arry[i]賦給shuiwang,否則,比較i和i+1,相等flag+1,不等flag-1。

三、源**

1 #include "

stdio.h"2

#define n 1000

3int

main()413

for(i=flag=0;i)

1419

else

2025

else

2629}30

}31 printf("

這個「水王」的id就是:");

32 printf("

%d\n

",shuiwang);

33return0;

34 }

view code

四、結果截圖

五、實驗心得

課堂上,老師讓我們先從簡單的方法開始,先排序中間的就是水王,而後,加大難度,我覺得這種思維正是我們在程式設計過程中應該具備的,先實現基本功能,再優化**。然後說說這道題目,開始絞盡腦汁都沒有想到,後來老師說可以採用「消消」的方法,恍然大悟...再實現時卻不是那麼回事,我發現面對不同的情況消得物件不同,比如「1,1,1,1,2,2,2」和「1,2,1,2,1,2,1」就不同,後來又跟小夥伴商量,**,查資料,才找到了分情況的辦法,鍛鍊了我們的思維能力。

課堂練習 找水王

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

課堂練習 找水王

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

找水王課堂練習

1題目要求 三人行設計了乙個灌水論壇。資訊學院的學生都喜歡在上面交流灌水,傳說在論壇上有乙個 水王 他不但喜歡發帖,還會回覆其他id發的每個帖子。坊間風聞該 水王 發帖數目超過了帖子數目的一半。2 設計思路 1首先如果每次刪除兩個不同的id,那麼,在剩下的id列表中,水王 id出現的次數仍然超過總數...