Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add solutions to lc problem: No.3034 #2339

Merged
merged 21 commits into from
Feb 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f4b58ec
feat: add solutions to lc problem: No.3033
Nothing-avil Feb 11, 2024
28d320d
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
bd08e77
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
bcc78e5
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
fcb8cff
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
bffd742
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
9da0d92
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
9d92cbf
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
90b9198
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
a1fee31
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
00bacf9
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
b778ba5
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
0a9cf6c
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
d80fccd
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
7df70e1
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
e0507ce
style: format code and docs with prettier
Nothing-avil Feb 11, 2024
22517c1
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
a941ad3
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
d34a5e0
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
5f429be
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
2990d85
feat: add solutions to lc problem: No.3034
Nothing-avil Feb 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -56,19 +56,121 @@
<!-- tabs:start -->

```python

class Solution:
def countMatchingSubarrays(self, nums: List[int], pattern: List[int]) -> int:
n = len(nums)
m = len(pattern)
count = 0
for i in range(n - m):
flag = True
for j in range(m):
if (
(pattern[j] == 1 and nums[i + j + 1] <= nums[i + j])
or (pattern[j] == 0 and nums[i + j + 1] != nums[i + j])
or (pattern[j] == -1 and nums[i + j + 1] >= nums[i + j])
):
flag = False
break
if flag:
count += 1
return count
```

```java

class Solution {
public int countMatchingSubarrays(int[] nums, int[] pattern) {
int n = nums.length;
int m = pattern.length;
int count = 0;
for (int i = 0; i <= n - m - 1; i++) {
boolean flag = true;
for (int j = 0; j < m; j++) {
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])) {
flag = false;
break;
}
}
if (flag) {
count++;
}
}
return count;
}
}
```

```cpp

class Solution {
public:
int countMatchingSubarrays(vector<int>& nums, vector<int>& pattern) {
int n = nums.size();
int m = pattern.size();
int c = 0;
for (int i = 0; i <= n - m - 1; i++) {
bool flag = true;
for (int j = 0; j < m; j++) {
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])) {
flag = false;
break;
}
}
if (flag) {
c++;
}
}
return c;
}
};
```

```go
func countMatchingSubarrays(nums []int, pattern []int) int {
n := len(nums)
m := len(pattern)
count := 0
for i := 0; i <= n-m-1; i++ {
flag := true
for j := 0; j < m; j++ {
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]) {
flag = false
break
}
}
if flag {
count++
}
}
return count
}
```

```ts
function countMatchingSubarrays(nums: number[], pattern: number[]): number {
const n: number = nums.length;
const m: number = pattern.length;
let count: number = 0;
for (let i = 0; i <= n - m - 1; i++) {
let flag: boolean = true;
for (let j = 0; j < m; j++) {
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])
) {
flag = false;
break;
}
}
if (flag) {
count++;
}
}
return count;
}
```

<!-- tabs:end -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,121 @@ Hence, there are 2 subarrays in nums that match the pattern.
<!-- tabs:start -->

```python

class Solution:
def countMatchingSubarrays(self, nums: List[int], pattern: List[int]) -> int:
n = len(nums)
m = len(pattern)
count = 0
for i in range(n - m):
flag = True
for j in range(m):
if (
(pattern[j] == 1 and nums[i + j + 1] <= nums[i + j])
or (pattern[j] == 0 and nums[i + j + 1] != nums[i + j])
or (pattern[j] == -1 and nums[i + j + 1] >= nums[i + j])
):
flag = False
break
if flag:
count += 1
return count
```

```java

class Solution {
public int countMatchingSubarrays(int[] nums, int[] pattern) {
int n = nums.length;
int m = pattern.length;
int count = 0;
for (int i = 0; i <= n - m - 1; i++) {
boolean flag = true;
for (int j = 0; j < m; j++) {
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])) {
flag = false;
break;
}
}
if (flag) {
count++;
}
}
return count;
}
}
```

```cpp

class Solution {
public:
int countMatchingSubarrays(vector<int>& nums, vector<int>& pattern) {
int n = nums.size();
int m = pattern.size();
int c = 0;
for (int i = 0; i <= n - m - 1; i++) {
bool flag = true;
for (int j = 0; j < m; j++) {
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])) {
flag = false;
break;
}
}
if (flag) {
c++;
}
}
return c;
}
};
```

```go
func countMatchingSubarrays(nums []int, pattern []int) int {
n := len(nums)
m := len(pattern)
count := 0
for i := 0; i <= n-m-1; i++ {
flag := true
for j := 0; j < m; j++ {
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]) {
flag = false
break
}
}
if flag {
count++
}
}
return count
}
```

```ts
function countMatchingSubarrays(nums: number[], pattern: number[]): number {
const n: number = nums.length;
const m: number = pattern.length;
let count: number = 0;
for (let i = 0; i <= n - m - 1; i++) {
let flag: boolean = true;
for (let j = 0; j < m; j++) {
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])
) {
flag = false;
break;
}
}
if (flag) {
count++;
}
}
return count;
}
```

<!-- tabs:end -->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
class Solution {
public:
int countMatchingSubarrays(vector<int>& nums, vector<int>& pattern) {
int n = nums.size();
int m = pattern.size();
int c = 0;
for (int i = 0; i <= n - m - 1; i++) {
bool flag = true;
for (int j = 0; j < m; j++) {
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])) {
flag = false;
break;
}
}
if (flag) {
c++;
}
}
return c;
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
func countMatchingSubarrays(nums []int, pattern []int) int {
n := len(nums)
m := len(pattern)
count := 0
for i := 0; i <= n-m-1; i++ {
flag := true
for j := 0; j < m; j++ {
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]) {
flag = false
break
}
}
if flag {
count++
}
}
return count
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
class Solution {
public int countMatchingSubarrays(int[] nums, int[] pattern) {
int n = nums.length;
int m = pattern.length;
int count = 0;
for (int i = 0; i <= n - m - 1; i++) {
boolean flag = true;
for (int j = 0; j < m; j++) {
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])) {
flag = false;
break;
}
}
if (flag) {
count++;
}
}
return count;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
class Solution:
def countMatchingSubarrays(self, nums: List[int], pattern: List[int]) -> int:
n = len(nums)
m = len(pattern)
count = 0
for i in range(n - m):
flag = True
for j in range(m):
if (
(pattern[j] == 1 and nums[i + j + 1] <= nums[i + j])
or (pattern[j] == 0 and nums[i + j + 1] != nums[i + j])
or (pattern[j] == -1 and nums[i + j + 1] >= nums[i + j])
):
flag = False
break
if flag:
count += 1
return count
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
function countMatchingSubarrays(nums: number[], pattern: number[]): number {
const n: number = nums.length;
const m: number = pattern.length;
let count: number = 0;
for (let i = 0; i <= n - m - 1; i++) {
let flag: boolean = true;
for (let j = 0; j < m; j++) {
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])
) {
flag = false;
break;
}
}
if (flag) {
count++;
}
}
return count;
}
Loading