Skip to content

Commit faa6fc2

Browse files
authored
feat: add solutions to lc problem: No.1534
No.1534.Count Good Triplets
1 parent 8d83961 commit faa6fc2

File tree

7 files changed

+212
-7
lines changed

7 files changed

+212
-7
lines changed

solution/0200-0299/0291.Word Pattern II/Solution.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ def dfs(i, j):
66
if i == m or j == n or n - j < m - i:
77
return False
88
for k in range(j, n):
9-
t = s[j: k + 1]
9+
t = s[j : k + 1]
1010
if d.get(pattern[i]) == t:
1111
if dfs(i + 1, k + 1):
1212
return True

solution/1500-1599/1534.Count Good Triplets/README.md

+73-1
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,87 @@
5858
<!-- 这里可写当前语言的特殊实现逻辑 -->
5959

6060
```python
61-
61+
class Solution:
62+
def countGoodTriplets(self, arr: List[int], a: int, b: int, c: int) -> int:
63+
n = len(arr)
64+
ans = 0
65+
for i in range(n):
66+
for j in range(i + 1, n):
67+
for k in range(j + 1, n):
68+
if abs(arr[i] - arr[j]) <= a and abs(arr[j] - arr[k]) <= b and abs(arr[i] - arr[k]) <= c:
69+
ans += 1
70+
return ans
6271
```
6372

6473
### **Java**
6574

6675
<!-- 这里可写当前语言的特殊实现逻辑 -->
6776

6877
```java
78+
class Solution {
79+
public int countGoodTriplets(int[] arr, int a, int b, int c) {
80+
int n = arr.length;
81+
int ans = 0;
82+
for (int i = 0; i < n; ++i) {
83+
for (int j = i + 1; j < n; ++j) {
84+
for (int k = j + 1; k < n; ++k) {
85+
if (Math.abs(arr[i] - arr[j]) <= a && Math.abs(arr[j] - arr[k]) <= b && Math.abs(arr[i] - arr[k]) <= c) {
86+
++ans;
87+
}
88+
}
89+
}
90+
}
91+
return ans;
92+
}
93+
}
94+
```
95+
96+
### **C++**
97+
98+
```cpp
99+
class Solution {
100+
public:
101+
int countGoodTriplets(vector<int>& arr, int a, int b, int c) {
102+
int n = arr.size();
103+
int ans = 0;
104+
for (int i = 0; i < n; ++i)
105+
{
106+
for (int j = i + 1; j < n; ++j)
107+
{
108+
for (int k = j + 1; k < n; ++k)
109+
{
110+
ans += abs(arr[i] - arr[j]) <= a && abs(arr[j] - arr[k]) <= b && abs(arr[i] - arr[k]) <= c;
111+
}
112+
}
113+
}
114+
return ans;
115+
}
116+
};
117+
```
69118
119+
### **Go**
120+
121+
```go
122+
func countGoodTriplets(arr []int, a int, b int, c int) int {
123+
n, ans := len(arr), 0
124+
for i := 0; i < n; i++ {
125+
for j := i + 1; j < n; j++ {
126+
for k := j + 1; k < n; k++ {
127+
if abs(arr[i]-arr[j]) <= a && abs(arr[j]-arr[k]) <= b && abs(arr[i]-arr[k]) <= c {
128+
ans++
129+
}
130+
}
131+
}
132+
}
133+
return ans
134+
}
135+
136+
func abs(x int) int {
137+
if x < 0 {
138+
return -x
139+
}
140+
return x
141+
}
70142
```
71143

72144
### **...**

solution/1500-1599/1534.Count Good Triplets/README_EN.md

+74-5
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,9 @@
5050
<p><strong>Constraints:</strong></p>
5151

5252
<ul>
53-
5453
<li><code>3 &lt;= arr.length &lt;= 100</code></li>
55-
5654
<li><code>0 &lt;= arr[i] &lt;= 1000</code></li>
57-
5855
<li><code>0 &lt;= a, b, c &lt;= 1000</code></li>
59-
6056
</ul>
6157

6258
## Solutions
@@ -66,15 +62,88 @@
6662
### **Python3**
6763

6864
```python
69-
65+
class Solution:
66+
def countGoodTriplets(self, arr: List[int], a: int, b: int, c: int) -> int:
67+
n = len(arr)
68+
ans = 0
69+
for i in range(n):
70+
for j in range(i + 1, n):
71+
for k in range(j + 1, n):
72+
if abs(arr[i] - arr[j]) <= a and abs(arr[j] - arr[k]) <= b and abs(arr[i] - arr[k]) <= c:
73+
ans += 1
74+
return ans
7075
```
7176

7277
### **Java**
7378

7479
```java
80+
class Solution {
81+
public int countGoodTriplets(int[] arr, int a, int b, int c) {
82+
int n = arr.length;
83+
int ans = 0;
84+
for (int i = 0; i < n; ++i) {
85+
for (int j = i + 1; j < n; ++j) {
86+
for (int k = j + 1; k < n; ++k) {
87+
if (Math.abs(arr[i] - arr[j]) <= a && Math.abs(arr[j] - arr[k]) <= b && Math.abs(arr[i] - arr[k]) <= c) {
88+
++ans;
89+
}
90+
}
91+
}
92+
}
93+
return ans;
94+
}
95+
}
96+
```
97+
98+
### **C++**
99+
100+
```cpp
101+
class Solution {
102+
public:
103+
int countGoodTriplets(vector<int>& arr, int a, int b, int c) {
104+
int n = arr.size();
105+
int ans = 0;
106+
for (int i = 0; i < n; ++i)
107+
{
108+
for (int j = i + 1; j < n; ++j)
109+
{
110+
for (int k = j + 1; k < n; ++k)
111+
{
112+
ans += abs(arr[i] - arr[j]) <= a && abs(arr[j] - arr[k]) <= b && abs(arr[i] - arr[k]) <= c;
113+
}
114+
}
115+
}
116+
return ans;
117+
}
118+
};
119+
```
75120
121+
### **Go**
122+
123+
```go
124+
func countGoodTriplets(arr []int, a int, b int, c int) int {
125+
n, ans := len(arr), 0
126+
for i := 0; i < n; i++ {
127+
for j := i + 1; j < n; j++ {
128+
for k := j + 1; k < n; k++ {
129+
if abs(arr[i]-arr[j]) <= a && abs(arr[j]-arr[k]) <= b && abs(arr[i]-arr[k]) <= c {
130+
ans++
131+
}
132+
}
133+
}
134+
}
135+
return ans
136+
}
137+
138+
func abs(x int) int {
139+
if x < 0 {
140+
return -x
141+
}
142+
return x
143+
}
76144
```
77145

146+
78147
### **...**
79148

80149
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
int countGoodTriplets(vector<int>& arr, int a, int b, int c) {
4+
int n = arr.size();
5+
int ans = 0;
6+
for (int i = 0; i < n; ++i)
7+
{
8+
for (int j = i + 1; j < n; ++j)
9+
{
10+
for (int k = j + 1; k < n; ++k)
11+
{
12+
ans += abs(arr[i] - arr[j]) <= a && abs(arr[j] - arr[k]) <= b && abs(arr[i] - arr[k]) <= c;
13+
}
14+
}
15+
}
16+
return ans;
17+
}
18+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
func countGoodTriplets(arr []int, a int, b int, c int) int {
2+
n, ans := len(arr), 0
3+
for i := 0; i < n; i++ {
4+
for j := i + 1; j < n; j++ {
5+
for k := j + 1; k < n; k++ {
6+
if abs(arr[i]-arr[j]) <= a && abs(arr[j]-arr[k]) <= b && abs(arr[i]-arr[k]) <= c {
7+
ans++
8+
}
9+
}
10+
}
11+
}
12+
return ans
13+
}
14+
15+
func abs(x int) int {
16+
if x < 0 {
17+
return -x
18+
}
19+
return x
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public int countGoodTriplets(int[] arr, int a, int b, int c) {
3+
int n = arr.length;
4+
int ans = 0;
5+
for (int i = 0; i < n; ++i) {
6+
for (int j = i + 1; j < n; ++j) {
7+
for (int k = j + 1; k < n; ++k) {
8+
if (Math.abs(arr[i] - arr[j]) <= a && Math.abs(arr[j] - arr[k]) <= b && Math.abs(arr[i] - arr[k]) <= c) {
9+
++ans;
10+
}
11+
}
12+
}
13+
}
14+
return ans;
15+
}
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution:
2+
def countGoodTriplets(self, arr: List[int], a: int, b: int, c: int) -> int:
3+
n = len(arr)
4+
ans = 0
5+
for i in range(n):
6+
for j in range(i + 1, n):
7+
for k in range(j + 1, n):
8+
if abs(arr[i] - arr[j]) <= a and abs(arr[j] - arr[k]) <= b and abs(arr[i] - arr[k]) <= c:
9+
ans += 1
10+
return ans

0 commit comments

Comments
 (0)