如題,感覺資料量很大,腦袋一片空白,用c語言實作,求大神解答!
uj5u.com熱心網友回復:
可以采用多執行緒的技術,對這個大陣列進行分塊,每個執行緒算一小部分,最后求和就可以uj5u.com熱心網友回復:
謝邀。由于服務器維護,我看不到您的鏈接里提供的具體問題。但看題目是因為一個10萬個數的陣列求和。
贊同#1 樓的辦法。也可以考慮參考外部排序的做法。
uj5u.com熱心網友回復:
"求1-50000的不重復數的合"是啥?求值為1-50000的不重復元素的組合,還是和?uj5u.com熱心網友回復:
應該是和,組合的話有多少個?
uj5u.com熱心網友回復:
確實,C(100000, xxxxx)能嚇死人,神威太湖之光都未必算得了。
uj5u.com熱心網友回復:
如果是求1-50000的不重復數的和那比較簡單。位圖法:
int E[50000]; 用來保存1-50000出現的次數,初始化為全0。
掃描10萬個數的陣列,如果某元素在[1..50000]區間,把E的對應元素+1。
掃描E,累加恰好為1的元素對應的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/53526.html
標籤:基礎類
