中等
给你两个长度均为 n 的整数数组 nums 和 target。
对于每个下标 i,考虑将原数组的 后缀 nums[i..n - 1] 按 非递增顺序 排序。
返回使排序后的数组等于 target 的下标 i 的数量。
子数组 是数组中一个连续的 非空 元素序列。
数组的 后缀 是从任意下标开始并延伸至数组末尾的子数组。
示例 1:
输入: nums = [1,2,3], target = [3,2,1]
输出: 1
解释:
i = 0:排序后的数组为[3, 2, 1],等于target。i = 1:排序后的数组为[1, 3, 2]。i = 2:排序后的数组为[1, 2, 3]。
只有 i = 0 符合要求,因此答案为 1。
示例 2:
输入: nums = [1,5,6,4,6], target = [1,5,6,6,4]
输出: 2
解释:
选择 i = 2 或 i = 3,排序后都会得到 [1, 5, 6, 6, 4]。其他下标均无法得到 target。因此,答案为 2。
示例 3:
输入: nums = [7,6,8], target = [8,6,7]
输出: 0
解释:
分别对从下标 0、1 和 2 开始的后缀排序,会依次得到 [8, 7, 6]、[7, 8, 6] 和 [7, 6, 8]。它们均不等于 target,因此答案为 0。
提示:
1 <= n == nums.length == target.length <= 1051 <= nums[i], target[i] <= 105