2
public int threeSumMulti(int[] arr, int target) {3
long[] cnt = new long[101];8
for (int i = 0; i < 101 && i <= target; i++) {12
for (int j = i; j < 101 && i + j <= target; j++) {13
int k = target - i - j;17
if (cnt[j] == 0 || k >= 101 || cnt[k] == 0) {20
if (i == j && j == k) {21
res += cnt[i] * (cnt[i] - 1) * (cnt[i] - 2) / 3 / 2;23
res += cnt[k] * cnt[j] * (cnt[j] - 1) / 2;25
res += cnt[i] * cnt[j] * (cnt[j] - 1) / 2;27
res += cnt[i] * cnt[j] * cnt[target - i - j];31
return (int) (res % (Math.pow(10, 9) + 7));