程式設計之美 第二章 數字之魅 2 3尋找發帖水王

2021-07-04 06:30:46 字數 485 閱讀 5999

/*

尋找發帖水王:

本質:尋找出現超過一半次數的人

如果已經排序,那麼中序數就是那個人,即下標是,這個列表的第n/2項是(從0開始編號)。如果每次刪除兩個不同的id,可以降低時間複雜度

輸入:7

1 2 3 2 4 2 2

81 2 3 2 4 2 2 5

輸出:2

沒有*/

#include const int maxsize = 10000;

void halftimesnum(int* parr,int ilen)

} else//如果前後兩個數相同,就令值進行累加

}if(itimes >= 2)

else }

void process()

halftimesnum(iarr,n); }}

int main(int argc,char* argv)

程式設計之美 第二章 數字之魅 2 4 1的數目

1的數目 給定乙個十進位制正整數n,寫下從1開始,到n的所有整數然後數一下其中出現的所有1的個數 例如 n 2,寫下1,2這樣只出現了1個1 n 12,寫下1,2,3,4,5,6,7,8,9,10,11,12,這樣1的個數是5 問題是 1寫乙個函式f n 返回1到n之間出現的1的個數,比如f 12 ...

程式設計之美 第二章 數字之魅 2 5尋找最大的k個數

尋找最大的k個數 解法1 如何避免對後n k個數的排序,選擇排序和交換排序都是不錯的選擇,o n k 如果k log2n時,那麼可以選擇部分排序。解法三 尋找n個數中最大的k個數,本質就是尋找最大的k個數中最小的那個,也就是第k大的數。可以使用二分搜尋,對於乙個給定的數p,可以在o n 的時間複雜度...

第二章 程式設計之道

程式設計師的修煉從優秀帶卓越 第二章 程式設計之道 切記一根筋 優秀的開發者和平庸的開發者之間存在著的一條鴻溝,因為優秀的程式設計師所具有的的素質似乎是與生俱來。那麼成為優秀的程式設計師的方法是拋開程式設計,放下編譯器,好好的評估一下自己正在做的事情。你必須培養自己對於程式設計周邊所有事情的熱情。你...