From 826e64140d837b0b2e25dd817d02df471c47ea34 Mon Sep 17 00:00:00 2001 From: Vivek Date: Fri, 22 Mar 2019 12:24:49 +0530 Subject: [PATCH 1/7] secondLargest func is completed --- secondLargest.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 secondLargest.js diff --git a/secondLargest.js b/secondLargest.js new file mode 100644 index 0000000..a145f2d --- /dev/null +++ b/secondLargest.js @@ -0,0 +1,29 @@ +function secondLargest(array) { + let v=[]; + v.length=1000; + for (let i = 0; i < v.length; i++) { + v[i]=0; + + } + len=array.length; + for (let i = 0; i < array.length; i++) { + if(v[array[i]]==1){ + len=len-1; + }else{ + v[array[i]]=1; + } + + + } + let i=0; + let count=0; + while(count Date: Fri, 22 Mar 2019 12:32:07 +0530 Subject: [PATCH 2/7] complete frequency is created --- calculateFrequency.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 calculateFrequency.js diff --git a/calculateFrequency.js b/calculateFrequency.js new file mode 100644 index 0000000..e3cb3e7 --- /dev/null +++ b/calculateFrequency.js @@ -0,0 +1,15 @@ +function calculateFrequency(string) { + let toReturn ={}; + for (let i = 0; i < string.length; i++) { + toReturn[string.charAt(i)]=0; + + } + for (let i = 0; i < string.length; i++) { + if(string.charCodeAt(i)>96 && string.charCodeAt(i)<123){ + toReturn[string.charAt(i)]=toReturn[string.charAt(i)]+1; + } + + } + return toReturn; + } + console.log(calculateFrequency("u@#d$fkj$#!kds")); \ No newline at end of file From dac9373696b8aebf13b5c024e6edf14a50e55246 Mon Sep 17 00:00:00 2001 From: Vivek Date: Fri, 22 Mar 2019 12:33:49 +0530 Subject: [PATCH 3/7] calculateFrequency is completed --- calculateFrequency.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/calculateFrequency.js b/calculateFrequency.js index e3cb3e7..3f15cfb 100644 --- a/calculateFrequency.js +++ b/calculateFrequency.js @@ -1,7 +1,10 @@ function calculateFrequency(string) { let toReturn ={}; for (let i = 0; i < string.length; i++) { - toReturn[string.charAt(i)]=0; + if(string.charCodeAt(i)>96 && string.charCodeAt(i)<123){ + toReturn[string.charAt(i)]=0; + } + } for (let i = 0; i < string.length; i++) { From 440f7817ff0d578eaa42fcba9592e16643da48dd Mon Sep 17 00:00:00 2001 From: Vivek Date: Fri, 22 Mar 2019 12:36:52 +0530 Subject: [PATCH 4/7] flatten is completed --- flatten.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 flatten.js diff --git a/flatten.js b/flatten.js new file mode 100644 index 0000000..a617b3c --- /dev/null +++ b/flatten.js @@ -0,0 +1,29 @@ + + +function flatten(unflatObject) { + var toReturn = {}; + count=0; + for (var i in unflatObject) { + + if ((typeof unflatObject[i]) == 'object') { + + var flatObject = flatten(unflatObject[i]); + + for (var x in flatObject) { + + + toReturn[i + '.' + x] = flatObject[x]; + + } + + } else { + + toReturn[i] = unflatObject[i]; + + } + } + return toReturn; + } + + +console.log(flatten({ "flatJSON": false, "i": { "am": { "not": { "so": { "flat": true, "unflat": false } }, "a": "tree" } }, "dates": [ { "day": 1 }, { "day": 8947 } ] })); \ No newline at end of file From 7793f6e20fdc8858a329033afc209b7ed162a4d6 Mon Sep 17 00:00:00 2001 From: Vivek Date: Fri, 22 Mar 2019 16:13:05 +0530 Subject: [PATCH 5/7] unflatten completed --- readme.txt | 0 unflatten.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) delete mode 100644 readme.txt create mode 100644 unflatten.js diff --git a/readme.txt b/readme.txt deleted file mode 100644 index e69de29..0000000 diff --git a/unflatten.js b/unflatten.js new file mode 100644 index 0000000..272628a --- /dev/null +++ b/unflatten.js @@ -0,0 +1,34 @@ +function unflatten(flatObject) { + // Write your code here + temp={}; + for(var key in flatObject){ + array=key.split('.'); + + var ret=function(obj,array,count){ + if(count Date: Fri, 22 Mar 2019 18:02:20 +0530 Subject: [PATCH 6/7] correct indentation --- calculateFrequency.js | 16 ++++------- flatten.js | 40 ++++++++++----------------- secondLargest.js | 38 ++++++++++++------------- unflatten.js | 64 +++++++++++++++++++++---------------------- 4 files changed, 68 insertions(+), 90 deletions(-) diff --git a/calculateFrequency.js b/calculateFrequency.js index 3f15cfb..755c6b1 100644 --- a/calculateFrequency.js +++ b/calculateFrequency.js @@ -1,18 +1,14 @@ function calculateFrequency(string) { - let toReturn ={}; + let toReturn = {}; for (let i = 0; i < string.length; i++) { - if(string.charCodeAt(i)>96 && string.charCodeAt(i)<123){ - toReturn[string.charAt(i)]=0; + if (string.charCodeAt(i) > 96 && string.charCodeAt(i) < 123) { + toReturn[string.charAt(i)] = 0; } - - } for (let i = 0; i < string.length; i++) { - if(string.charCodeAt(i)>96 && string.charCodeAt(i)<123){ - toReturn[string.charAt(i)]=toReturn[string.charAt(i)]+1; + if (string.charCodeAt(i) > 96 && string.charCodeAt(i) < 123) { + toReturn[string.charAt(i)] = toReturn[string.charAt(i)] + 1; } - } return toReturn; - } - console.log(calculateFrequency("u@#d$fkj$#!kds")); \ No newline at end of file +} \ No newline at end of file diff --git a/flatten.js b/flatten.js index a617b3c..6e004e2 100644 --- a/flatten.js +++ b/flatten.js @@ -1,29 +1,17 @@ - - function flatten(unflatObject) { - var toReturn = {}; - count=0; - for (var i in unflatObject) { - - if ((typeof unflatObject[i]) == 'object') { - - var flatObject = flatten(unflatObject[i]); - - for (var x in flatObject) { - - - toReturn[i + '.' + x] = flatObject[x]; - - } - - } else { - - toReturn[i] = unflatObject[i]; - - } - } - return toReturn; - } + var toReturn = {}, + count = 0; + for (var i in unflatObject) { + if ((typeof unflatObject[i]) == 'object') { + var flatObject = flatten(unflatObject[i]); + for (var x in flatObject) { + toReturn[i + '.' + x] = flatObject[x]; + } + } else { + toReturn[i] = unflatObject[i]; + } + } + return toReturn; +} -console.log(flatten({ "flatJSON": false, "i": { "am": { "not": { "so": { "flat": true, "unflat": false } }, "a": "tree" } }, "dates": [ { "day": 1 }, { "day": 8947 } ] })); \ No newline at end of file diff --git a/secondLargest.js b/secondLargest.js index a145f2d..7c16cbc 100644 --- a/secondLargest.js +++ b/secondLargest.js @@ -1,29 +1,25 @@ function secondLargest(array) { - let v=[]; - v.length=1000; + let v = []; + v.length = 1000; for (let i = 0; i < v.length; i++) { - v[i]=0; - - } - len=array.length; + v[i] = 0; + } + len = array.length; for (let i = 0; i < array.length; i++) { - if(v[array[i]]==1){ - len=len-1; - }else{ - v[array[i]]=1; + if (v[array[i]] == 1) { + len = len - 1; + } else { + v[array[i]] = 1; } - - } - let i=0; - let count=0; - while(count Date: Tue, 9 Apr 2019 22:53:56 +0530 Subject: [PATCH 7/7] Indentation Correction from 4 to 2 spaces and blank line removal btw code --- calculateFrequency.js | 23 ++++++++++--------- flatten.js | 25 ++++++++++----------- secondLargest.js | 40 ++++++++++++++++----------------- unflatten.js | 52 +++++++++++++++++++++---------------------- 4 files changed, 69 insertions(+), 71 deletions(-) diff --git a/calculateFrequency.js b/calculateFrequency.js index 755c6b1..c31ec68 100644 --- a/calculateFrequency.js +++ b/calculateFrequency.js @@ -1,14 +1,15 @@ function calculateFrequency(string) { - let toReturn = {}; - for (let i = 0; i < string.length; i++) { - if (string.charCodeAt(i) > 96 && string.charCodeAt(i) < 123) { - toReturn[string.charAt(i)] = 0; - } + let toReturn = {}; + for (let i = 0; i < string.length; i++) { + if (string.charCodeAt(i) > 96 && string.charCodeAt(i) < 123) { + toReturn[string.charAt(i)] = 0; } - for (let i = 0; i < string.length; i++) { - if (string.charCodeAt(i) > 96 && string.charCodeAt(i) < 123) { - toReturn[string.charAt(i)] = toReturn[string.charAt(i)] + 1; - } + } + for (let i = 0; i < string.length; i++) { + if (string.charCodeAt(i) > 96 && string.charCodeAt(i) < 123) { + toReturn[string.charAt(i)] = toReturn[string.charAt(i)] + 1; } - return toReturn; -} \ No newline at end of file + } + return toReturn; +} + diff --git a/flatten.js b/flatten.js index 6e004e2..cf09839 100644 --- a/flatten.js +++ b/flatten.js @@ -1,17 +1,16 @@ function flatten(unflatObject) { - var toReturn = {}, - count = 0; - for (var i in unflatObject) { - if ((typeof unflatObject[i]) == 'object') { - var flatObject = flatten(unflatObject[i]); - for (var x in flatObject) { - toReturn[i + '.' + x] = flatObject[x]; - } - } else { - toReturn[i] = unflatObject[i]; - } + var toReturn = {}, + count = 0; + for (var i in unflatObject) { + if ((typeof unflatObject[i]) == 'object') { + var flatObject = flatten(unflatObject[i]); + for (var x in flatObject) { + toReturn[i + '.' + x] = flatObject[x]; + } + } else { + toReturn[i] = unflatObject[i]; } - return toReturn; + } + return toReturn; } - diff --git a/secondLargest.js b/secondLargest.js index 7c16cbc..cf63a2c 100644 --- a/secondLargest.js +++ b/secondLargest.js @@ -1,25 +1,25 @@ function secondLargest(array) { - let v = []; - v.length = 1000; - for (let i = 0; i < v.length; i++) { - v[i] = 0; + let v = []; + v.length = 1000; + for (let i = 0; i < v.length; i++) { + v[i] = 0; + } + len = array.length; + for (let i = 0; i < array.length; i++) { + if (v[array[i]] == 1) { + len = len - 1; + } else { + v[array[i]] = 1; } - len = array.length; - for (let i = 0; i < array.length; i++) { - if (v[array[i]] == 1) { - len = len - 1; - } else { - v[array[i]] = 1; - } + } + let i = 0, + count = 0; + while (count < len - 1) { + if (v[i] == 1) { + count = count + 1; } - let i = 0, - count = 0; - while (count < len - 1) { - if (v[i] == 1) { - count = count + 1; - } - i++; - } - return i - 1; + i++; + } + return i - 1; } diff --git a/unflatten.js b/unflatten.js index b3e9a2a..ed53293 100644 --- a/unflatten.js +++ b/unflatten.js @@ -1,32 +1,30 @@ function unflatten(flatObject) { - temp = {}; - for (var key in flatObject) { - array = key.split('.'); - var ret = function (obj, array, count) { - if (count < array.length - 1) { - if (typeof obj[array[count]] == 'object') { - obj[array[count]]; - ret(obj[array[count]], array, count + 1); - } - else { - obj[array[count]] = {}; - ret(obj[array[count]], array, count + 1); - } - - } - else { - obj[array[count]] = flatObject[key]; - } - - return obj; + temp = {}; + for (var key in flatObject) { + array = key.split('.'); + var ret = function (obj, array, count) { + if (count < array.length - 1) { + if (typeof obj[array[count]] == 'object') { + obj[array[count]]; + ret(obj[array[count]], array, count + 1); } - var extend = function (obj, src) { - for (var key in src) { - if (src.hasOwnProperty(key)) obj[key] = src[key]; - } - return obj; + else { + obj[array[count]] = {}; + ret(obj[array[count]], array, count + 1); } - temp = extend(ret(temp, array, 0), temp); + } + else { + obj[array[count]] = flatObject[key]; + } + return obj; } - return temp; + var extend = function (obj, src) { + for (var key in src) { + if (src.hasOwnProperty(key)) obj[key] = src[key]; + } + return obj; + } + temp = extend(ret(temp, array, 0), temp); + } + return temp; } \ No newline at end of file