@@ -52,19 +52,121 @@ Hence, there are 2 subarrays in nums that match the pattern.
52
52
<!-- tabs:start -->
53
53
54
54
``` python
55
-
55
+ class Solution :
56
+ def countMatchingSubarrays (self , nums : List[int ], pattern : List[int ]) -> int :
57
+ n = len (nums)
58
+ m = len (pattern)
59
+ count = 0
60
+ for i in range (n - m):
61
+ flag = True
62
+ for j in range (m):
63
+ if (
64
+ (pattern[j] == 1 and nums[i + j + 1 ] <= nums[i + j])
65
+ or (pattern[j] == 0 and nums[i + j + 1 ] != nums[i + j])
66
+ or (pattern[j] == - 1 and nums[i + j + 1 ] >= nums[i + j])
67
+ ):
68
+ flag = False
69
+ break
70
+ if flag:
71
+ count += 1
72
+ return count
56
73
```
57
74
58
75
``` java
59
-
76
+ class Solution {
77
+ public int countMatchingSubarrays (int [] nums , int [] pattern ) {
78
+ int n = nums. length;
79
+ int m = pattern. length;
80
+ int count = 0 ;
81
+ for (int i = 0 ; i <= n - m - 1 ; i++ ) {
82
+ boolean flag = true ;
83
+ for (int j = 0 ; j < m; j++ ) {
84
+ if ((pattern[j] == 1 && nums[i + j + 1 ] <= nums[i + j]) ||
85
+ (pattern[j] == 0 && nums[i + j + 1 ] != nums[i + j]) ||
86
+ (pattern[j] == - 1 && nums[i + j + 1 ] >= nums[i + j])) {
87
+ flag = false ;
88
+ break ;
89
+ }
90
+ }
91
+ if (flag) {
92
+ count++ ;
93
+ }
94
+ }
95
+ return count;
96
+ }
97
+ }
60
98
```
61
99
62
100
``` cpp
63
-
101
+ class Solution {
102
+ public:
103
+ int countMatchingSubarrays(vector<int >& nums, vector<int >& pattern) {
104
+ int n = nums.size();
105
+ int m = pattern.size();
106
+ int c = 0;
107
+ for (int i = 0; i <= n - m - 1; i++) {
108
+ bool flag = true;
109
+ for (int j = 0; j < m; j++) {
110
+ if ((pattern[ j] == 1 && nums[ i + j + 1] <= nums[ i + j] ) || (pattern[ j] == 0 && nums[ i + j + 1] != nums[ i + j] ) || (pattern[ j] == -1 && nums[ i + j + 1] >= nums[ i + j] )) {
111
+ flag = false;
112
+ break;
113
+ }
114
+ }
115
+ if (flag) {
116
+ c++;
117
+ }
118
+ }
119
+ return c;
120
+ }
121
+ };
64
122
```
65
123
66
124
```go
125
+ func countMatchingSubarrays(nums []int, pattern []int) int {
126
+ n := len(nums)
127
+ m := len(pattern)
128
+ count := 0
129
+ for i := 0; i <= n-m-1; i++ {
130
+ flag := true
131
+ for j := 0; j < m; j++ {
132
+ if (pattern[j] == 1 && nums[i+j+1] <= nums[i+j]) ||
133
+ (pattern[j] == 0 && nums[i+j+1] != nums[i+j]) ||
134
+ (pattern[j] == -1 && nums[i+j+1] >= nums[i+j]) {
135
+ flag = false
136
+ break
137
+ }
138
+ }
139
+ if flag {
140
+ count++
141
+ }
142
+ }
143
+ return count
144
+ }
145
+ ```
67
146
147
+ ``` ts
148
+ function countMatchingSubarrays(nums : number [], pattern : number []): number {
149
+ const n: number = nums .length ;
150
+ const m: number = pattern .length ;
151
+ let count: number = 0 ;
152
+ for (let i = 0 ; i <= n - m - 1 ; i ++ ) {
153
+ let flag: boolean = true ;
154
+ for (let j = 0 ; j < m ; j ++ ) {
155
+ if (
156
+ (pattern [j ] === 1 && nums [i + j + 1 ] <= nums [i + j ]) ||
157
+ (pattern [j ] === 0 && nums [i + j + 1 ] !== nums [i + j ]) ||
158
+ (pattern [j ] === - 1 && nums [i + j + 1 ] >= nums [i + j ])
159
+ ) {
160
+ flag = false ;
161
+ break ;
162
+ }
163
+ }
164
+ if (flag ) {
165
+ count ++ ;
166
+ }
167
+ }
168
+ return count ;
169
+ }
68
170
```
69
171
70
172
<!-- tabs: end -->
0 commit comments