GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — JavaScript/Maths/FindMaxRecursion.js at master · Algorithms-Learn/JavaScript Expand file tree/ Copy pathFindMaxRecursion.jsMore file actions 42 lines (35 loc) · 1.15 KB / Copy pathFindMaxRecursion.jsFile metadata and controls42 lines (35 loc) · 1.15 KB 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 31 32 33 34 35 36 37 38 39 40 41 42 /** * @function findMaxRecursion * @description This algorithm will find the maximum value of a array of numbers. * * @param {Integer[]} arr Array of numbers * @param {Integer} left Index of the first element * @param {Integer} right Index of the last element * * @return {Integer} Maximum value of the array * * @see [Maximum value](https://en.wikipedia.org/wiki/Maximum_value) * * @example findMaxRecursion([1, 2, 4, 5]) = 5 * @example findMaxRecursion([10, 40, 100, 20]) = 100 * @example findMaxRecursion([-1, -2, -4, -5]) = -1 */ function findMaxRecursion(arr, left, right) { const len = arr.length if (len === 0 || !arr) { return undefined } if (left >= len || left < -len || right >= len || right < -len) { throw new Error('Index out of range') } if (left === right) { return arr[left] } // n >> m is equivalent to floor(n / pow(2, m)), floor(n / 2) in this case, which is the mid index const mid = (left + right) >> 1 const leftMax = findMaxRecursion(arr, left, mid) const rightMax = findMaxRecursion(arr, mid + 1, right) // Return the maximum return Math.max(leftMax, rightMax) } export { findMaxRecursion } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |