Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 28 29 30 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 1x 1x | // Given an array of N integers. // Find the highest product by multiplying 3 elements. // •Constraints: // • 3 < N < 5e5 // Input: [1, 2, 3, 4] // Output: 2 * 3 * 4 = 24 // Input: [0, -1, 10, 7, 5] // Output: 5 * 7 * 10 = 350 const highestProduct = (arr: number[]): number => { const numbers: number[] = []; const sortedArr: number[] = arr.sort((a, b) => a - b); // 3 highest numbers const threeHighest = (sortedArr.at(-1) as number) * (sortedArr.at(-2) as number) * (sortedArr.at(-3) as number); // 2 lowest numbers and 1 highest number const twoLowestOneHighest = (sortedArr.at(0) as number) * (sortedArr.at(1) as number) * (sortedArr.at(-1) as number); return Math.max(threeHighest, twoLowestOneHighest); }; export default highestProduct; |