課堂練習 找水王

2022-06-05 04:54:08 字數 1887 閱讀 5543

一、題目及題目要求

二、設計思路:

1、把帖子列表,抽象為乙個一維陣列arr[num],輸入長度length為id總數,每個陣列元素為乙個id。

2、再設定乙個迴圈,按照順序來依次兩兩比較,如果作者id相同則保留,如果作者id不同則消除。

3、最後剩下id即為水王id

三、源程式:

#includeusing namespace std;

#define num 100

int find(int arr, int n)//找水王函式

int arr[num];

cout

if(arr[i]==0)

}int id=find(arr,length);

cout四、執行截圖

五、專案計畫日誌

周活動總結表

姓名:魏**                  日期2016.5.19

日期   任務

聽課 編寫程式

閱讀課本

準備考試

日總計周一

10030

130週三

3030

周四100

100周總結

100100

60260

不包括上一周在內的累計時間      

總計100

10060

260平均

100100

60260

最大100

10060

260最小

100100

60260

以前各週的累計時間      

總計100

10060

260平均

100100

60260

最大100

10060

260最小

100100

60260

六、時間記錄表:

學生  魏**                                           日期 2023年5月19日 

教師王**                                          課程  軟體工程      

日期開始時間

結束時間

中斷時間

淨時間活動

備註5.16

14:30

16;20 

10100

上課5.16

18:30

19:00無30

看書5.18

22:00

22:30無30

看書5.19

14:30

16:30

無100

編寫程式

作業

七、個人總結

這個題目,一開始沒有思路,在老師的啟發下一開始到的是遍歷列表,統計每個id出現的次數。後來老師提到了遍歷然後排序,中間項肯定是水王id,可是時間複雜度為n*n,為了降低時間複雜度,老師提示用兩兩消除的思想,後來我們就想到了如何解決。一道題目有好多種解法,我們應當拓寬思路,多看一些演算法書籍,多練習寫程式,孰能生巧。

課堂練習 找「水王」

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

課堂練習 找水王

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

找水王課堂練習

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