algorithm - 给定一个连续图。在 log(n) 中查找线段的交点数
问题描述
给定一个数组,例子:Arr[1 3 4 4 7 8 6 8 6 4 2],其中10^10>Arr[i]>0,表示y坐标。x 坐标是它们对应的数组索引。通过连接 (i,Arr[i]) 和 (i+1,Arr[i+1) 等形成连续图。所以基本上它是通过连接直线形成的图形。给定一条从 x 范围(x1 到 x2)平行于 y 轴的线段。如果给定的线段通过一个交点,那么我们算作2个交点,除非相交线的左端点是(x2,y)或其右端点是(x1,y),那么我们只算1个交点. 我们可以通过这条线段 log(n) time 找到交叉点的数量吗?
解决方案
这是来自正在进行的比赛。再等一天的社论。
推荐阅读
- c++ - 如何使用 FFMPEG sws_scaler api 从 AV_PIX_FMT_VAAPI 转换为 AV_PIX_FMT_YUV420?
- geoserver - Hibernate Spatial PostGIS 1.1.1 映射到视图而不是表
- android - Firebase 数据库 - 如果每个值都有一个随机生成的键,我如何在推送到数据库之前确保值的唯一性
- c# - Android,C#:将位图传递给另一个活动会在没有警告的情况下结束应用程序
- javascript - 需要帮助理解 JavaScript 中椭圆的数学公式
- python - 无法运行 sklearn 机器学习模型
- c# - 删除不可访问的文件和文件夹
- powershell - PowerShell - 如何删除签名
- mongodb - 查找特定于另一个字段的单个值的字段值,并且该字段的任何其他值都不存在
- vba - 如何对 VBA 代码进行单元测试?- 两个不同的指针