find_max_range_product
描述
在数组中找到一对索引(x, y),使得min(arr[x], arr[y]) * |x-y|的值最大。 这个函数可以用来找到数组中距离最远的两个元素,同时考虑它们的最小值。
函数签名
find_max_range_product(arr) -> None
参数
arr
(numpy.ndarray)
输入数组,类型为float64
返回值
tuple 返回一个元组(x, y, max_product),其中x和y是使得乘积最大的索引对,max_product是最大乘积
Python调用示例: ```python import numpy as np from rust_pyfunc import find_max_range_product
创建测试数组
arr = np.array([4.0, 2.0, 1.0, 3.0], dtype=np.float64) x, y, max_product = find_max_range_product(arr)
print(f"最大乘积出现在索引 {x} 和 {y}") print(f"对应的值为 {arr[x]} 和 {arr[y]}") print(f"最大乘积为: {max_product}")
例如,如果x=0, y=3那么:
min(arr[0], arr[3]) * |0-3| = min(4.0, 3.0) * 3 = 3.0 * 3 = 9.0
```
示例
输入:
find_max_range_product(
np.array([3.0, 1.0, 6.0, 4.0, 2.0, 8.0])
)
输出:
(2, 5, 18.0)
输入:
find_max_range_product(
np.array([10.0, 8.0, 6.0, 4.0, 2.0])
)
输出:
(0, 3, 12.0)
Python使用示例
import numpy as np
from rust_pyfunc import find_max_range_product
# 使用示例
result = find_max_range_product(np.array([3.0, 1.0, 6.0, 4.0, 2.0, 8.0]))
print(f"结果: {result}")