最远数
给定一个大小为 N 的数组 Arr[]。对于数组中的每个元素,任务是找出数组中最右边、比当前元素小的元素的索引。如果没有,则打印-1。
注意:使用基于 0 的索引。
示例 1:
输入
N=5
Arr[] = {3, 1, 5, 2, 4}
输出: N
3 -1 4 -1 -1
说明: Arr[3] 是 Arr[0] 右边最远的小元素:
Arr[3] 是 Arr[0] 右边最远的小元素。
Arr[4] 是 Arr[2] 右边最远的小元素。
其余元素的右边都没有小元素。
例 2:
输入
N=5
Arr[] = {1, 2, 3, 4, 0}
输出: N
4 4 4 4 -1
说明
Arr[4] 是 Arr[0]、Arr[1]、Arr[2] 和、
Arr[3]。而 Arr[4] 的右边没有小元素。
你的任务
你不需要读取输入或打印任何内容。您的任务是完成函数 farNumber(),该函数接受 N(数组 Arr 中的元素个数)、Arr[],并返回数组
返回数组中每个元素向右最远的元素。
限制条件
1 ≤ N ≤ 1e5
0 ≤ Arr[i] ≤ 1e9
通过DeepL.com(免费版)翻译
---
先建一个最小值的后缀数组,然后二分。(想到了二分,没想到怎么二分)....