[問題] 關於眾數問題

看板C_and_CPP (C/C++)作者 (小刀)時間15年前 (2010/10/21 12:33), 編輯推噓2(2013)
留言15則, 6人參與, 最新討論串1/3 (看更多)
最近在寫眾數問題 主要是考慮到眾數>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

10/21 12:36, , 1F
2、3很有問題, 不應該是兩個陣列, 而應該是一個結構陣
10/21 12:36, 1F

10/21 12:38, , 2F
10/21 12:38, 2F

10/21 12:41, , 3F
感謝指導 不過我還沒學到那邊 我去翻書一下
10/21 12:41, 3F

10/21 14:22, , 4F
stl map
10/21 14:22, 4F

10/21 14:30, , 5F
http://codepad.org/4lXBXXYp 這是我的方法
10/21 14:30, 5F

10/21 14:48, , 6F
簡單來說, 可以記完出現次數後再排序, 如果把出現數字
10/21 14:48, 6F

10/21 14:48, , 7F
直接拿來當陣列索引會很浪費空間, 如果會用STL map就
10/21 14:48, 7F

10/21 14:49, , 8F
可以做到了, 否則你如果要快, 在搜尋上要費一些工夫,
10/21 14:49, 8F

10/21 17:15, , 9F
恕小弟想請教..stl map 與 list 速度上是map較快嗎?
10/21 17:15, 9F

10/21 17:53, , 10F
推推 感謝樓上提供作法
10/21 17:53, 10F

10/21 17:57, , 11F
map 會比較快阿~ 通常是用 RB tree 來實作
10/21 17:57, 11F

10/21 18:26, , 12F
謝謝指教
10/21 18:26, 12F

10/21 20:44, , 13F

10/21 21:39, , 14F
樓上 zainan 廣告文太扯了唷..
10/21 21:39, 14F

10/22 23:19, , 15F
不是用array去對應你要計算變數的次數 讀一次就++一次
10/22 23:19, 15F
文章代碼(AID): #1ClyAUaX (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1ClyAUaX (C_and_CPP)