Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static long triplets(long t, int[] arr) {
- int n = arr.length;
- // Sort input array currently i am using array sort directly
- Arrays.sort(arr);
- // Initialize result
- long ans = 0;
- // Every iteration of loop counts triplet with
- // first element as arr[i].
- for (int i = 0; i < n - 2; i++) {
- int j = i + 1, k = n - 1;
- // Use Meet in the Middle concept
- while (j < k) {
- if (arr[i] + arr[j] + arr[k] > t)
- k--;
- // Else move left corner
- else {
- System.out.println("Subtracted value: "+k+"//"+j+">>"+(k-j));
- ans += (k - j);
- j++;
- }
- }
- }
- return ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement