我有一个从 start
到 end
的间隔,其中 start
和 end
类型为 double
。我想将间隔分为 n 个点,其中每两个相邻点的距离相同。
例如:
// Given closed interval [-3.14,3.14]:
start = -3.14
end = 3.14
n = 3
// The 3 points would be:
-3.14, 0.0, 3.14
// Where the distance between each two neighboring points is 3.14
或者:
// Given left-closed, right-open interval [0,1):
start = 0
end = 1
n = 4
// The 4 points would be:
0.0, 0.25, 0.5, 0.75
// Where the distance between each two neighboring points is .25
我遇到了麻烦,感谢您的建议
最佳答案
根据到目前为止您所显示的逻辑,间隔
大小为:
- 关闭:
(结束 - 开始)/(n - 1)
- 打开一侧:
(结束 - 开始)/n
- 打开两边:
(结束 - 开始)/(n + 1)
初始左点是:
- 左侧关闭:
开始
- 左侧打开:
开始 + 间隔
。
所有其他点只需在顶部添加一个间隔
关于java - 如何将一个区间[start,end]分成n个距离相等的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58734455/