-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRemove the minimum.js
27 lines (19 loc) · 1.23 KB
/
Remove the minimum.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// The museum of incredible dull things
// The museum of incredible dull things wants to get rid of some exhibitions. Miriam, the interior architect, comes up with a plan to remove the most boring exhibitions. She gives them a rating, and then removes the one with the lowest rating.
// However, just as she finished rating all exhibitions, she's off to an important fair, so she asks you to write a program that tells her the ratings of the items after one removed the lowest one. Fair enough.
// Task
// Given an array of integers, remove the smallest value. Do not mutate the original array/list. If there are multiple elements with the same value, remove the one with a lower index. If you get an empty array/list, return an empty array/list.
// Don't change the order of the elements that are left.
// Examples
// * Input: [1,2,3,4,5], output = [2,3,4,5]
// * Input: [5,3,2,1,4], output = [5,3,2,4]
// * Input: [2,2,1,2,1], output = [2,2,2,1]
function removeSmallest(numbers) {
if (numbers.length === 0) {
return [];
}
const minVal = Math.min(...numbers);
const indexToRemove = numbers.indexOf(minVal);
const newArray = numbers.slice(0, indexToRemove).concat(numbers.slice(indexToRemove + 1));
return newArray;
}