lua - 计算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.
解决方案
更简单的是做一个直方图,即一个由值索引的表。每当遇到一个值时, 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
推荐阅读
- r - 根据 r 中的两列计算每个时间小时的净值
- python - Logits 和标签必须是可广播的错误?
- python - 使用正则表达式进行部分匹配
- ruby - 如何在 Ruby 中执行 .lnk 文件
- javascript - 如何找到包含文本的任何文本的 html 标记
- ruby-on-rails - 获取值形式,如果为空,则将该字段留空以供输入
- javascript - doc.pageWindowRect 和 doc.media 在 Adobe Acrobat Javascript 中未定义
- git - 将我的分支合并到 master 后如何进行更改?gitlab
- c# - 动态创建的标签相互重叠
- ruby-on-rails - Google Cloud 上的 Rails 应用程序:URI 只能是 ascii