gpt4 book ai didi

c - 任意概率分布方式的随机数生成器

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:24:30 25 4
gpt4 key购买 nike

HERE是 geeksforgeeks 解决方案。我无法理解 findCeil() 部分。步骤 4. 在前缀数组中找到步骤 #3 中生成的随机数的 Ceil 索引。设索引为indexc。

// Utility function to find ceiling of r in arr[l..h]
int findCeil(int arr[], int r, int l, int h)
{
int mid;
while (l < h)
{
mid = l + ((h - l) >> 1); // Same as mid = (l+h)/2
(r > arr[mid]) ? (l = mid + 1) : (h = mid);
}
return (arr[l] >= r) ? l : -1;
}

谁能解释一下正在做什么。

最佳答案

它正在执行 binary search数组的第一个值大于 r 的元素。 wiki 文章应该很好地解释了该技术。

编辑:Here's an animation of an example search

关于c - 任意概率分布方式的随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27847584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com