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}")