在Lua中的表格中计算整数频率的最佳方法是什么?

时间:2019-02-16 02:12:16

标签: lua

这是我的代码,用于从0-32打印100个随机数。现在,我想按频率对接收到的整数进行排序。实现这一目标的最快方法是什么?

 math.randomseed(os.time()) -- random initialize
    math.random(); math.random(); math.random() -- warming up

    for x = 1, 100 do
        -- random generating 
        value = math.random(0,32)
        print(value)
    end

所需输出示例如下

Output:
0:10
1:5
2:4
3:7
etc.

1 个答案:

答案 0 :(得分:3)

比较简单的方法是进行直方图,即按值索引的表。每当遇到一个值时,histogram [value]都会增加

histogram={}
for i = 0, 32 do
  histogram[i]=0
end
math.randomseed(os.time()) -- random initialize
math.random(); math.random(); math.random() -- warming up

for x = 1, 100 do
      -- random generating 
      value = math.random(0,32)
      -- print(value)
      histogram[value]=histogram[value]+1
end

for i = 0, 32 do
      print(i,":",histogram[i])
end