搜尋

首頁  >  問答  >  主體

hash - ruby​​一道循環演算法題:不同ID出現次數

需求:

從文件中統計不同ID在兩種條件下出現的次數。

例如,文件中數據如下:

post  10001
get  10001
get  10002
post  10001
post  10002
...

在Ruby代碼中用Hash保存取到的值:

data = Hash.new{|h, key| h[key] = []}
data[:post] << #value
data[:get] << #value
=begin 期待结果
data[:post] => [2, 1]。10001 的 post 出现次数:2;10002 的 post 出现次数:1
data[:get] => [1, 1]。10001 的 get 出现次数:1;10002 的 get 出现次数:1
=end

循環遍曆文件,分別對不同ID的兩種統計,如何達到正確的效果呢?


注:文件中ID不固定,有若幹個,生成的相應形式為:

data[:post] => [2, 1, n] # n为ID的第n次出现
高洛峰高洛峰2834 天前659

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-21 11:20:21

    我建議這樣

    
    data[:post]=[]; data[:get]=[]
    data[:post][value]+=1
    data[:get][value]+=1
    =begin 结果
    data[:post][x] => post x 出现的次数
    data[:get][x] => get x 出现的次数
    

    回覆
    0
  • 取消回覆