如果在数组/表中设置了一个尚未知的值,其中每个值都包含一个数字,我将如何设置它以使具有更高数字的值更有可能被选中?
我在Lua做了这个,我提出了一种效率极低的方法,甚至没有工作原因:
示例:
"module.InsertTokens(5,'a')
--The function above would insert the value "a" five times into an array
module.RemoveId('a') --this is supposed to remove all values of a
print(#module.Tokens)"
2 - 应该是0 - 为什么它会返回2? d:
function module.InsertTokens(amount, id)
for i = 1, amount do --amount times
print'inserting'
module.Tokens[#module.Tokens+1]=id
end
end
function module.RemoveId(id)
for index, v in pairs(module.Tokens) do
if v == id then
print'removing'
table.remove(module.Tokens, index)
end
end
end
我可以使用某种算法或更好的逻辑吗? (如果可以,请指出我上面的代码做错了什么?)
答案 0 :(得分:0)
只需将值插入表中,就像它的百分比一样多。例如,如果你想要“a”有95%的几率而“b”有5个,那么在表中放一个95次,然后b在那里放5次