public static int RangeList(List<int> list)
{
//1.计算和
int sum = 0;
foreach (var item in list)
{
sum += item;
}
var ran = Random.Range(0, sum);
var curNum = 0;
foreach (var item in list)
{
curNum += item;
if (ran < curNum)
{
return item;
}
}
return 0;
}
原理:是将值的随机改为长度的随机
该代码片段展示了如何从给定整数列表中根据值的总和生成一个随机数,然后找到列表中使得累计和大于等于随机数的首个元素。这种方法改变了随机数的生成方式,使其基于列表值的分布而非简单的长度。
1830

被折叠的 条评论
为什么被折叠?



