2024-07-13:用go语言,给定一个从0开始的长度为n的整数数组nums和一个从0开始的长度为m的整数数组pattern,其中pattern数组仅包含整数-1、0和1。
一个子数组nums[i..j]的大小为m+1,如果满足以下条件,则我们称该子数组与模式数组pattern匹配:
1.若pattern[k]为1,则nums[i+k+1] > nums[i+k];
2.若pattern[k]为0,则nums[i+k+1] == nums[i+k];
3.若pattern[k]为-1,则nums[i+k+1] < nums[i+k]。
需要计算匹配模式数组pattern的nums子数组的数量并返回。
输入:nums = [1,2,3,4,5,6], pattern = [1,1]。
输出:4。
解释:模式 [1,1] 说明我们要找的子数组是长度为 3 且严格上升的。在数组 nums 中,子数组 [1,2,3] ,[2,3,4] ,[3,4,5] 和 [4,5,6] 都匹配这个模式。
所以 nums 中总共有 4 个子数组匹配这个模式。
相似问题