程式設計之美2 3尋找發帖水王和擴充套件問題

2021-06-18 03:27:04 字數 652 閱讀 7123

推薦

#include #include using namespace std;

void fun();

int len = 15;

int candi = arr[0];//設定水王候選人是下標為0的編號

int count = 1;//次數為1

for(int i=1;i2、擴充套件問題

有3個發帖很多的id,他們的發帖數目都超過了帖子總數目的1/4,你能從發帖id列表中快速找到嗎?

與之前同意的思路,只不過現在需設定3個candidate變數。若與此3個candidate的id均不相同,則count-1。

#include #include using namespace std;

//fun和fun1實現效果一樣

//思路比較緊湊,但比較晦澀

void fun();

int len = 15;

int candi[3];//設定水王候選人

int count[3];//次數

count[0] = 0;

count[1] = 0;

count[2] = 0;

int flag = 0;

bool outsite = false;//跳轉到外層迴圈標誌

for(int i=0;i

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

題目 尋找乙個id列表中,有乙個id超過了總數的一半,找出這個id 分析 可以對id進行排序,因為需要尋找的id超過了一半,所以該id列表id n 中,id n 2 一定是這個id值。複雜度為o nlgn 1 如果用排序這種方法解決的話,複雜度應該就維持在這個水平,不會降低。再思考一下,難道一定需要...

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

這道題目由於不容易寫測試用例,所以,可以把題目轉換為 在乙個陣列中,有乙個數字出現的次數超過了陣列大小的一半,這和題目原意是一樣的。這道題目的思想是我們同時去掉陣列中兩個不一樣的數字,那麼,陣列中原來存在的規律是不變的 僅針對這個題目 好吧,還是先給出函式宣告 2.3 尋找發帖水王 bool dut...

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

題目1 找到陣列中出現次數超過一半的元素 解法 使用另外不到1 2的元素與所求元素進行抵消 整個陣列抵消不同的兩個數,則超過1 2的元素還是原來的元素 public class main public static int findnum int input throws exception if ...