Minimize the maximum difference between adjacent elements in an array
You are given a non-decreasing array and an integer K. You need to remove exactly K integers from the given array such that the maximum difference between adjacent elements is minimum.
For example:
If the given array is: [2 6 7 7 10] and K = 2. We need to remove A[0] = 2 and A[4] = 10, then the resultant array would become [6 7 7], where the difference between adjacent pairs are {1, 0}. Thus our answer would be 1. You can see that there would not be any better answer than 1 for this array
Input Format:
The first line of input contains a single integer T, representing the number of test cases or queries to be run.
Then the T test cases follow.
The first line of each test case contains two space-separated integers N and K representing the length of the array and the number of integers to be removed.
The second line of each test case contains N space-separated integers denoting the elements of the given array.
Output Format:
For each test case, print the maximum difference between adjacent elements is minimum after K integers are removed, in a separate line.
Constraints:
1 ≤ T ≤ 100
3 ≤ N ≤ 1000
1 ≤ Ai ≤ 10^6
0 ≤ K ≤ N - 2
Time Limit : 1 sec
Note:
You are not required to print the expected output, it has already been taken care of. Just implement the function.
CodingNinjas
author
2y
The first observation I had was what would I do if the first and last elements were not fixed. I was not able to solve this question completely, hence I used brute force approach(provided in above lin...read more
CodingNinjas
author
2y
Brute Force
- Generate all the possible subsets of size N - K.
- This is because in the final array only N - K elements would remain.
- This can be done by doing Complete Search.
- Now take the maximum difference...read more
CodingNinjas
author
2y
Optimal Solution
- It can be noted that removing elements from the middle of the array would only maximise the final answer.
- For example: If the given array is: [arr1 arr2 … arrX-1 arrX arrX+1 ... arrN]. ...read more
CodingNinjas
author
2y
Efficient Solution
- Here, we will create a difference array, which will be an array of differences of adjacent elements of the initial array.
- To find the answer, we just have to find the minimum element ...read more
Add answer anonymously...
Top Urban Company Software Developer interview questions & answers
Popular interview questions of Software Developer
Top HR questions asked in Urban Company Software Developer
>
Urban Company Software Developer Interview Questions
Stay ahead in your career. Get AmbitionBox app
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+
Reviews
4 L+
Interviews
4 Cr+
Salaries
1 Cr+
Users/Month
Contribute to help millions
Get AmbitionBox app