From d43de686c58eaea59ddb226fd8a1c04fdc14ca22 Mon Sep 17 00:00:00 2001 From: Matthew Palmer Date: Sat, 3 Apr 2021 09:29:58 -0500 Subject: [PATCH] Add FindSecondLargestSort (#523) * Add FindSecondLargestSort * Add FindSecondLargestSort * Add FindSecondLargestSort * Add FindSecondLargestSort * Add FindSecondLargestSort * Add FindSecondLargestSort * Update and rename FindSecondLargestSort.js to FindSecondLargestElement.js * Update FindSecondLargestElement.js * Update FindSecondLargestElement.js Co-authored-by: MacBookPro Co-authored-by: vinayak --- Sorts/FindSecondLargestElement.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Sorts/FindSecondLargestElement.js diff --git a/Sorts/FindSecondLargestElement.js b/Sorts/FindSecondLargestElement.js new file mode 100644 index 000000000..c87fc99a1 --- /dev/null +++ b/Sorts/FindSecondLargestElement.js @@ -0,0 +1,25 @@ +/* +* Find Second Largest is a real technical interview question. +* Chances are you will be asked to find the second largest value +* inside of an array of numbers. You must also be able to filter +* out duplicate values. It's important to know how to do this with +* clean code that is also easy to explain. +* +* Resources: +* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set +*/ + +const secondLargestElement = (array) => { + const largestElement = Math.max(...array) + let element = 0 + + for (let i = 0; i < array.length; i++) { + if (element < array[i] && array[i] !== largestElement) { + element = array[i] + } + } + + return element +} + +export { secondLargestElement }