/*
尋找發帖水王:
本質:尋找出現超過一半次數的人
如果已經排序,那麼中序數就是那個人,即下標是,這個列表的第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 的時間複雜度...
第二章 程式設計之道
程式設計師的修煉從優秀帶卓越 第二章 程式設計之道 切記一根筋 優秀的開發者和平庸的開發者之間存在著的一條鴻溝,因為優秀的程式設計師所具有的的素質似乎是與生俱來。那麼成為優秀的程式設計師的方法是拋開程式設計,放下編譯器,好好的評估一下自己正在做的事情。你必須培養自己對於程式設計周邊所有事情的熱情。你...