題目要求:
三人行設計了乙個灌水論壇。資訊學院的學生都喜歡在上面交流灌水,傳說在論壇上有乙個「水王」,他不但喜歡發帖,還會回覆其他id發的每個帖子。坊間風聞該「水王」發帖 數目超過了帖子數目的一半。
想法:我們在這張id列表中要注意到水王的id是出現了帖子數目的一半這也就成為了題目的突破口,就如同參加選舉投票時,你可以選三個人,而且參加選舉的也僅是這三個人,如果你每個人都投了一票,這就意味著你放棄了選擇;同理水王擁有最高的「票數」,當他減去別人的「票數」時,他依舊為正數,那他就獲勝了。
源**:
#includeint find(int *id, int n)else
} return people;
} void main()
; int record=find(a,15);
cout<
程式設計之美 尋找發帖「水王」
描述 直接拍照,懶得打字 此題很容易轉換為,在乙個陣列中,有乙個數出現的次數超過了陣列元素個數的一半,請找出這個元素。方法一 對陣列排序進行排序,利用通常的排序方法,複雜度o nlgn 再遍歷一遍陣列,找出那個元素,複雜度為o n 空間複雜度o 1 方法二 空間換時間吧,在開闢乙個陣列,hash對映...
程式設計之美 尋找發帖「水王」
基礎問題 找出發帖數超過帖子總數一半的id.拓展問題 有三人發帖數都超過了帖子總數目n 的1 4 找出他們的 id.我們可以先排序然後找出中間的那個id 但可以考慮避免排序來改進時間複雜度。每次從列表刪除兩個不相同的id 剩餘的相同 id就是找到的 水王 type find type id,int ...
程式設計之美 尋找發帖水王
程式設計之美 尋找發帖水王.cpp 定義控制台應用程式的入口點。有乙個水王發帖超過一半 給你發帖所有的id 找到他 統計每個id出現次數 找到最大的 超過一半 include stdafx.h include include include using namespace std class id ...