Question: Convert this code into JOption. Jav a language. import java.util.Arrays; import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Triplesum { static int triplets(int[] a, int[]
Convert this code into JOption. Java language.
import java.util.Arrays; import java.util.HashSet; import java.util.Scanner; import java.util.Set;
public class Triplesum {
static int triplets(int[] a, int[] b, int[] c) {
int distinctTripletCount = 0;
int[] distinctA = removeDuplicates(a); int[] distinctB = removeDuplicates(b); int[] distinctC = removeDuplicates(c);
Arrays.parallelSort(distinctA); Arrays.parallelSort(distinctB); Arrays.parallelSort(distinctC);
for (int q : distinctB) { long c1 = getValidIndex(distinctA, q) + 1; long c3 = getValidIndex(distinctC, q) + 1; distinctTripletCount += c1 * c3; } return distinctTripletCount; }
private static int [] removeDuplicates(int[] a) { Set
int result[] = new int [len]; int i = 0; for (int item : set) { result[i++] = item; } return result; }
static int getValidIndex(int[] distinctA, int key) { int low = 0; int high = distinctA.length - 1; int count = -1;
while (low <= high) { int mid = low + (high -low) / 2; if(distinctA[mid] <= key) { count = mid; low = mid + 1; }else high = mid -1; } return count; }
public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int lena = sc.nextInt(); int lenb = sc.nextInt(); int lenc = sc.nextInt();
int a[] = new int[lena]; int b[] = new int[lenb]; int c[] = new int[lenc];
for (int i = 0; i < lena; i++) { a[i] = sc.nextInt(); } for (int i = 0; i < lenb; i++) { b[i] = sc.nextInt(); } for (int i = 0; i < lenc; i++) { c[i] = sc.nextInt(); } int answer = triplets(a, b ,c); System.out.println(answer); sc.close();
}
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
