GeeksforGeeks App
Open App
Browser
Continue

# Sopra Steria Interview Experience

Today, I was called for interview in Sopra Steria. Approximate 100 persons were present during the interview process. First round as technical test which consists of 2 complex questions from hackersearth websites. Though I failed in first round itself. One question I tries to solve and I solved that 80% but could not make to 2nd round. Question which I attempted is given below along with solution so that you can post and anybody can get help.

Q. 1 You have to take input from input device with the below sysntax :

Line 1 : T No of test cases to be checked.

Line 2 : Array Count.

Line 3 : No of elements of the array.

Line 4 : Kth largest element to be found. If not found return -1.

Line 2, 3 and 4 will get repeated accordingly what we have entered in line 1.

Rule : We need to find the differences of ant 2 numbers, if it is not present then we should add this to given array. So we would have all numbers difference present in array in last.

For Example : INPUT :
1
5
1 3 5 6 7
2
1
1
2

Input : Line 1 is : we want to pass 2 test cases.
Line 2 : Array size of First Array.
Line 3 : Array Elements separated by SPACE
Line 4 : Need to find out 2nd Largest elements.
Line 5 : Array Size of Second array for test case 2.
Line 6 : Array Elements
Line 7 : 2nd largest elements to be found

Output :
6
-1

Solutions :

 `package` `soptasteria;`` ` `import` `java.io.IOException;``import` `java.util.Arrays;``import` `java.util.Scanner;`` ` `public` `class` `Test {``    ``public` `static` `void` `main(String[] args) ``throws` `IOException``    ``{``        ``Scanner sc = ``new` `Scanner(System.in);``        ``int` `testCasesCount = sc.nextInt();``        ``int``[] result = ``new` `int``[testCasesCount];``        ``for` `(``int` `i = ``0``; i < testCasesCount; i++) {``            ``int` `arraySize = sc.nextInt();``            ``// System.err.println("Enter arr element after arr size");`` ` `            ``// System.err.println("Array Entered : "+sc.nextLine());`` ` `            ``sc.nextLine();`` ` `            ``String[] strArr = sc.nextLine().split(``" "``);`` ` `            ``int``[] array = makeArrayOfInteger(strArr);`` ` `            ``// System.out.println("Printing integer array");`` ` `            ``int` `kth = sc.nextInt();`` ` `            ``// System.out.println("Array Entered : ");`` ` `            ``printArray(array, arraySize);`` ` `            ``result[i] = goForBusiness(array, arraySize, kth);`` ` `            ``// System.out.println("Result : "+result[i]);``        ``}`` ` `        ``System.out.println(``"Output : "``);`` ` `        ``for` `(``int` `i = ``0``; i < testCasesCount; i++) {``            ``System.out.println(result[i]);``        ``}``    ``}`` ` `    ``private` `static` `int` `goForBusiness(``int` `arr[], ``int` `len, ``int` `kthLargest)``    ``{`` ` `        ``int` `lastIndex = len;`` ` `        ``for` `(``int` `i = ``0``; i < len; i++) {``            ``for` `(``int` `j = i + ``1``; j < len; j++) {`` ` `                ``int` `d = Math.abs(arr[i] - arr[j]);`` ` `                ``// System.out.println("Checked "+i+"th and "+j+"th element with differnece : "+d);``                ``if` `(!searchInArray(arr, lastIndex, d)) {``                    ``arr[lastIndex++] = d;``                ``}``            ``}``        ``}`` ` `        ``Arrays.sort(arr, ``0``, lastIndex);``        ``// System.out.print("After Sort : ");``        ``// printArray(arr, lastIndex);``        ``if` `(kthLargest > lastIndex)``            ``return` `-``1``;`` ` `        ``return` `arr[lastIndex - kthLargest];``    ``}`` ` `    ``private` `static` `int``[] makeArrayOfInteger(String[] str)``    ``{``        ``int``[] arr = ``new` `int``[str.length * ``4``];``        ``for` `(``int` `i = ``0``; i < str.length; i++)``            ``arr[i] = Integer.parseInt(str[i]);``        ``return` `arr;``    ``}`` ` `    ``private` `static` `boolean` `searchInArray(``int` `arr[], ``int` `len, ``int` `ele)``    ``{``        ``for` `(``int` `i = ``0``; i < len; i++)``            ``if` `(arr[i] == ele)``                ``return` `true``;``        ``return` `false``;``    ``}`` ` `    ``private` `static` `void` `printArray(``int` `arr[], ``int` `len)``    ``{``        ``for` `(``int` `i = ``0``; i < len; i++)``            ``System.out.print(``" "` `+ arr[i]);``        ``System.out.println(``""``);``    ``}``}`

My Personal Notes arrow_drop_up