Input: nums =[1,1,1,3,5]Output: 4Explanation: The 4 quadruplets that satisfy the requirement are:-(0,1,2,3):1+1+1==3-(0,1,3,4):1+1+3==5-(0,2,3,4):1+1+3==5-(1,2,3,4):1+1+3==5
Since the array is small (n ≤ 50), we can check all quadruplets (a, b, c, d) with a < b < c < d and count those where nums[a] + nums[b] + nums[c] == nums[d].
classSolution {
public:int countQuadruplets(vector<int>& nums) {
int n = nums.size(), ans =0;
for (int a =0; a < n; ++a)
for (int b = a+1; b < n; ++b)
for (int c = b+1; c < n; ++c)
for (int d = c+1; d < n; ++d)
if (nums[a] + nums[b] + nums[c] == nums[d])
ans++;
return ans;
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
funccountQuadruplets(nums []int) int {
n, ans:= len(nums), 0fora:=0; a < n; a++ {
forb:=a+1; b < n; b++ {
forc:=b+1; c < n; c++ {
ford:=c+1; d < n; d++ {
ifnums[a]+nums[b]+nums[c] ==nums[d] {
ans++ }
}
}
}
}
returnans}
1
2
3
4
5
6
7
8
9
10
11
12
classSolution {
publicintcountQuadruplets(int[] nums) {
int n = nums.length, ans = 0;
for (int a = 0; a < n; a++)
for (int b = a+1; b < n; b++)
for (int c = b+1; c < n; c++)
for (int d = c+1; d < n; d++)
if (nums[a]+ nums[b]+ nums[c]== nums[d])
ans++;
return ans;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
classSolution {
funcountQuadruplets(nums: IntArray): Int {
val n = nums.size
var ans = 0for (a in0 until n)
for (b in a+1 until n)
for (c in b+1 until n)
for (d in c+1 until n)
if (nums[a] + nums[b] + nums[c] == nums[d])
ans++return ans
}
}
1
2
3
4
5
6
7
8
9
10
classSolution:
defcountQuadruplets(self, nums: list[int]) -> int:
n, ans = len(nums), 0for a in range(n):
for b in range(a+1, n):
for c in range(b+1, n):
for d in range(c+1, n):
if nums[a] + nums[b] + nums[c] == nums[d]:
ans +=1return ans
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
impl Solution {
pubfncount_quadruplets(nums: Vec<i32>) -> i32 {
let n = nums.len();
letmut ans =0;
for a in0..n {
for b in a+1..n {
for c in b+1..n {
for d in c+1..n {
if nums[a] + nums[b] + nums[c] == nums[d] {
ans +=1;
}
}
}
}
}
ans
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
classSolution {
countQuadruplets(nums: number[]):number {
constn=nums.length;
letans=0;
for (leta=0; a<n; a++)
for (letb=a+1; b<n; b++)
for (letc=b+1; c<n; c++)
for (letd=c+1; d<n; d++)
if (nums[a] +nums[b] +nums[c] ===nums[d])
ans++;
returnans;
}
}