看板 C_and_CPP 關於我們 聯絡資訊
最近在寫眾數問題 主要是考慮到眾數>2時 ex:1 1 1 1 1 2 2 2 2 3 3 3 4 4 眾數有1 2 次數4 我自己是有寫出來 但是想問問大家有沒更快的"想法" 我的步驟: 1.排序 並丟入a[] 2.用一個陣列b[]紀錄各數出現次數並使用另一個對應陣列c[]來記錄此數字 3.陣列b排列並且c一起做交換 4.判斷b[] if(b[i]=b[i+1]) 5.印出b[] 與c[] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.90.242
loveme00835:2、3很有問題, 不應該是兩個陣列, 而應該是一個結構陣 10/21 12:36
loveme00835:列 10/21 12:38
applea123:感謝指導 不過我還沒學到那邊 我去翻書一下 10/21 12:41
elfkiller:stl map 10/21 14:22
loveme00835:http://codepad.org/4lXBXXYp 這是我的方法 10/21 14:30
loveme00835:簡單來說, 可以記完出現次數後再排序, 如果把出現數字 10/21 14:48
loveme00835:直接拿來當陣列索引會很浪費空間, 如果會用STL map就 10/21 14:48
loveme00835:可以做到了, 否則你如果要快, 在搜尋上要費一些工夫, 10/21 14:49
tropical72:恕小弟想請教..stl map 與 list 速度上是map較快嗎? 10/21 17:15
applea123:推推 感謝樓上提供作法 10/21 17:53
loveme00835:map 會比較快阿~ 通常是用 RB tree 來實作 10/21 17:57
tropical72:謝謝指教 10/21 18:26
zainan:http://www.yiqisi.com/?u=298672 10/21 20:44
tropical72:樓上 zainan 廣告文太扯了唷.. 10/21 21:39
cspy:不是用array去對應你要計算變數的次數 讀一次就++一次 10/22 23:19