Given an integer array?A
, and an integer?target
, return the number of?tuples?i, j, k
? such that?i < j < k
?and?A[i] + A[j] + A[k] == target
.
As the answer can be very large, return it modulo?10^9 + 7
.
Example 1:
Input: A = [1,1,2,2,3,3,4,4,5,5], target = 8
Output: 20
Explanation:
Enumerating by the values (A[i], A[j], A[k]):
(1, 2, 5) occurs 8 times;
(1, 3, 4) occurs 8 times;
(2, 2, 4) occurs 2 times;
(2, 3, 3) occurs 2 times.
Example 2:
Input: A = [1,1,2,2,2,2], target = 5
Output: 12
Explanation:
A[i] = 1, A[j] = A[k] = 2 occurs 12 times:
We choose one 1 from [1,1] in 2 ways,
and two 2s from [2,2,2,2] in 6 ways.
Note:
3 <= A.length <= 3000
0 <= A[i] <= 100
0 <= target <= 300
Github 同步地址:
https://github.com/grandyang/leetcode/issues/923
类似题目:
参考资料:
https://leetcode.com/problems/3sum-with-multiplicity/
LeetCode All in One 题目讲解汇总(持续更新中...)
[LeetCode] 923. 3Sum With Multiplicity 三数之和的多种情况
原文:https://www.cnblogs.com/grandyang/p/11818151.html