diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..dc9ce7e Binary files /dev/null and b/.DS_Store differ diff --git a/40130212009/.DS_Store b/40130212009/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/40130212009/.DS_Store differ diff --git a/Answers/How To.txt b/40130212009/How To.txt similarity index 100% rename from Answers/How To.txt rename to 40130212009/How To.txt diff --git a/40130212009/findMissingNumber.js b/40130212009/findMissingNumber.js new file mode 100644 index 0000000..f9b5847 --- /dev/null +++ b/40130212009/findMissingNumber.js @@ -0,0 +1,13 @@ +function findMissingNumber(array) { + let n = array.length; + let sum = (n * (n + 1)) / 2; + let sumOfElementArray = 0; + for (let i = 0; i < array.length; i++) { + sumOfElementArray += array[i]; + } + let missingNumber = sum - sumOfElementArray; + return missingNumber; +} + +let array = [0, 1, 2, 3, 5]; +console.log(findMissingNumber(array)); diff --git a/40130212009/maximumSubarraySum.js b/40130212009/maximumSubarraySum.js new file mode 100644 index 0000000..9f09592 --- /dev/null +++ b/40130212009/maximumSubarraySum.js @@ -0,0 +1,22 @@ +function maximumSubarraySum(array) { + let n = array.length; + let max = array[0]; + for (let i = 0; i < n; i++) { + let s = array[i]; + if (s >= max) { + max = s; + } + let j = i + 1; + while (j < n) { + s += array[j]; + if (s >= max) { + max = s; + } + j++; + } + } + return max; +} + +let array = [1, 5, -1, -50, 3, 4, 7, -5]; +console.log(maximumSubarraySum(array)); diff --git a/40130212009/mergeSortedArrays.js b/40130212009/mergeSortedArrays.js new file mode 100644 index 0000000..46498b8 --- /dev/null +++ b/40130212009/mergeSortedArrays.js @@ -0,0 +1,31 @@ +function mergeSortedArrays(array1, array2) { + let counter1 = array1.length - 1; + let counter2 = array2.length - 1; + let counterMerge = array1.length + array2.length - 1; + + array1.length = counterMerge + 1; + + while (counter1 >= 0 && counter2 >= 0) { + if (array1[counter1] > array2[counter2]) { + array1[counterMerge] = array1[counter1]; + counter1--; + } else { + array1[counterMerge] = array2[counter2]; + counter2--; + } + counterMerge--; + } + + while (counter2 >= 0) { + array1[counterMerge] = array2[counter2]; + counter2--; + counterMerge--; + } + + return array1; +} + +let array1 = [3, 6, 8, 11]; +let array2 = [1, 4, 5, 7, 9, 10]; +mergeSortedArrays(array1, array2); +console.log(array1); diff --git a/40130212009/removeDuplicates.js b/40130212009/removeDuplicates.js new file mode 100644 index 0000000..bd611a4 --- /dev/null +++ b/40130212009/removeDuplicates.js @@ -0,0 +1,12 @@ +function removeDuplicates(array) { + let lenOfArray = 0; + for (let i = 0; i < array.length; i++) { + if (array[i] !== array[i - 1]) { + lenOfArray++; + } + } + return lenOfArray; +} + +let array = [1, 2, 2, 3, 3, 3, 4, 5]; +console.log(removeDuplicates(array)); diff --git a/40130212009/rotateArray.js b/40130212009/rotateArray.js new file mode 100644 index 0000000..2827ba3 --- /dev/null +++ b/40130212009/rotateArray.js @@ -0,0 +1,18 @@ +function rotateArray(arr, k) { + let n = arr.length; + k = k % n; + let rotatedArr = new Array(n); + for (let i = 0; i < k; i++) { + rotatedArr[i] = arr[n - k + i]; + } + + for (let i = k; i < n; i++) { + rotatedArr[i] = arr[i - k]; + } + + return rotatedArr; +} + +let array = [1, 2, 3, 4, 5]; +let k = 2; +console.log(rotateArray(array, k));