From 58c4c335a03b3c0943a043091281c4c0ce4e7783 Mon Sep 17 00:00:00 2001 From: Niti Singhal Date: Thu, 25 Oct 2018 23:32:28 -0700 Subject: [PATCH 1/3] Create inplace-reverse-array.js --- src/array/inplace-reverse-array.js | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/array/inplace-reverse-array.js diff --git a/src/array/inplace-reverse-array.js b/src/array/inplace-reverse-array.js new file mode 100644 index 0000000..b30b5a0 --- /dev/null +++ b/src/array/inplace-reverse-array.js @@ -0,0 +1,46 @@ +/** + * Reverse Inplace Array + * + * Given an Array arr. + * + * We want to reverse order of elements inside . + * We will also take edge cases into account + * For eg:- In case parameter passed is null or undefined we may want to throw error + * In case parameter passed is not an array + * In case parameter passed has length 0 + * + * For example, given + * + * arr = [1,2,3,4,5,6,7,8,9] + * We should return + * [9,8,7,6,5,4,3,2,1] + * + */ + +/** + * @param {number[]} arr + * @return {number[]} arr + */ +function inplaceReverse(arr){ +//edge cases + if(!arr){ + throw new Error('undefined input'); + } + if(Array.isArray(arr) !== true){ + throw new Error('not an array') + } + if(arr.length === 0){ + throw new Error('array empty') + } + var len = arr.length - 1; + for(let j=0; j Date: Thu, 25 Oct 2018 23:34:16 -0700 Subject: [PATCH 2/3] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20e5efe..cd1ea99 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ A collection of JavaScript problems and solutions for studying algorithms. - [H-Index](src/array/h-index.js) - [H-Index II](src/array/h-index-ii.js) - [Pour Water](src/array/pour_water.js) +- [Inplace Array Reversal](src/array/inplace-reverse-array.js) ### Matrix From 3d37fd4cc17d6fd8ab2679d1adb198ef72ce425d Mon Sep 17 00:00:00 2001 From: Niti Singhal Date: Thu, 25 Oct 2018 23:38:17 -0700 Subject: [PATCH 3/3] Fixing indentation to code --- src/array/inplace-reverse-array.js | 44 ++++++++++++++++-------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/src/array/inplace-reverse-array.js b/src/array/inplace-reverse-array.js index b30b5a0..66bf09c 100644 --- a/src/array/inplace-reverse-array.js +++ b/src/array/inplace-reverse-array.js @@ -21,26 +21,30 @@ * @param {number[]} arr * @return {number[]} arr */ -function inplaceReverse(arr){ -//edge cases - if(!arr){ - throw new Error('undefined input'); - } - if(Array.isArray(arr) !== true){ - throw new Error('not an array') - } - if(arr.length === 0){ - throw new Error('array empty') - } - var len = arr.length - 1; - for(let j=0; j