# Program to find minimum amplitude after deleting K elements in Python

PythonServer Side ProgrammingProgramming

#### Beyond Basic Programming - Intermediate Python

Most Popular

36 Lectures 3 hours

#### Practical Machine Learning using Python

Best Seller

91 Lectures 23.5 hours

#### Practical Data Science using Python

22 Lectures 6 hours

Suppose we have a lit of numbers called nums, and have another value k. If we remove k elements from nums, then find the minimum of (maximum of nums - minimum of nums).

So, if the input is like nums = [4, 10, 3, 2, 8, 9] k = 3, then the output will be 2, because if we remove 10, 8 and 9 then maximum is 4, minimum is 2 so difference is 2.

To solve this, we will follow these steps −

• sort the list nums

• p := size of nums - k

• m := (last element of nums) - nums[0]

• for i in range 0 to size of nums - p, do

• if nums[i + p - 1] - nums[i] < m, then

• m := nums[i + p - 1] - nums[i]

• return m

## Example

Let us see the following implementation to get better understanding

def solve(nums, k):
nums = sorted(nums)
p = len(nums) - k
m = nums[-1] - nums[0]
for i in range(0, len(nums) - p + 1):
if nums[i + p - 1] - nums[i] < m:
m = nums[i + p - 1] - nums[i]
return m

nums = [10, 4, 3, 2, 9, 8]
k = 3
print(solve(nums, k))

## Input

[10, 4, 3, 2, 9, 8], 3


## Output

2
Updated on 12-Oct-2021 11:16:38