程式設計之美 尋找發帖水王

2021-07-25 19:13:48 字數 961 閱讀 5648

// 程式設計之美 尋找發帖水王.cpp : 定義控制台應用程式的入口點。

//有乙個水王發帖超過一半 給你發帖所有的id 找到他

//統計每個id出現次數 找到最大的(超過一半)

#include "stdafx.h"

#include #include #include using namespace std;

class id

;id::id()

void input(vector&v, int n)

}string find(const vector&v, id id, const int n)

}else //到字串是空的了(到頭了)

break;

}} }

candidate = id[0];

for (i = 0; i < n; i++) }

//每個id和他的次數

for (i = 0; i < n; i++) }

return candidate.id;

}string find(const vector&v, const int n) //書中方法 函式衝在

else

else

}cout << candidate << endl;

} cout int n;//列表中的id個數

cout << "please input id's number" << endl;

cin >> n;

input(v, n);

id *id = new id[n];

//find(v, id, n);

cout << "書中方法"<< endl;

find(v,n);

deleteid;

id = null;

system("pause");

return 0;

}

程式設計之美 尋找發帖「水王」

描述 直接拍照,懶得打字 此題很容易轉換為,在乙個陣列中,有乙個數出現的次數超過了陣列元素個數的一半,請找出這個元素。方法一 對陣列排序進行排序,利用通常的排序方法,複雜度o nlgn 再遍歷一遍陣列,找出那個元素,複雜度為o n 空間複雜度o 1 方法二 空間換時間吧,在開闢乙個陣列,hash對映...

程式設計之美 尋找發帖「水王」

基礎問題 找出發帖數超過帖子總數一半的id.拓展問題 有三人發帖數都超過了帖子總數目n 的1 4 找出他們的 id.我們可以先排序然後找出中間的那個id 但可以考慮避免排序來改進時間複雜度。每次從列表刪除兩個不相同的id 剩餘的相同 id就是找到的 水王 type find type id,int ...

程式設計之美 尋找發帖水王

tango是微軟亞洲研究院的乙個試驗專案。研究院的員工和實習生們都很喜歡在 tango 上面交流灌水。傳說,tango 有一大水王,他不但喜歡發帖,還會回覆其他 idid 也在表中,你能快速找出這個傳說中的 tango 水王嗎?分析 如果乙個id 出現的次數超過總數 n的一半,那麼先把這些 id排好...