From 1cba9f03c7653fcb1819323bd1205da74ba6c38c Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Sun, 29 Jan 2023 09:29:57 +0530 Subject: [PATCH 01/10] Week 7 added exercise --- Week-6/exercise_6_4.js | 22 ++++++++--- Week-7/exercise_7_1.js | 84 ++++++++++++++++++++++++++++++++++++++++++ Week-7/exercise_7_2.js | 61 ++++++++++++++++++++++++++++++ Week-7/exercise_7_3.js | 17 +++++++++ Week-7/exercise_7_4.js | 52 ++++++++++++++++++++++++++ Week-7/exercise_7_5.js | 6 +++ Week-7/exercise_7_6.js | 0 7 files changed, 237 insertions(+), 5 deletions(-) create mode 100644 Week-7/exercise_7_1.js create mode 100644 Week-7/exercise_7_2.js create mode 100644 Week-7/exercise_7_3.js create mode 100644 Week-7/exercise_7_4.js create mode 100644 Week-7/exercise_7_5.js create mode 100644 Week-7/exercise_7_6.js diff --git a/Week-6/exercise_6_4.js b/Week-6/exercise_6_4.js index 2f68102..03d148b 100644 --- a/Week-6/exercise_6_4.js +++ b/Week-6/exercise_6_4.js @@ -1,13 +1,25 @@ function max(a,b){ return a" + newhead.element); + newhead = newhead.next; + } + } + + reverse(){ + + if(this.length < 2) + return; + + this.first = this.head; + this.second = this.head.next; + + if(this.length == 2){ + this.second.next = this.first; + this.first.next = null; + this.head = this.second; + return; + } + + + this.first = this.head.next; + this.second = this.first.next; + this.third = this.second.next; + this.head.next = null; + this.first.next = this.head; + + for(let i=0; i" + newhead.element); + newhead = newhead.next; + } + } +} + +let newLinkedList = new LinkedList; + +for(let i=1;i<=10;i++){ + newLinkedList.addNode(i); +} + +newLinkedList.display(); +newLinkedList.rotateLinkedlist(3); +newLinkedList.display(); \ No newline at end of file diff --git a/Week-7/exercise_7_3.js b/Week-7/exercise_7_3.js new file mode 100644 index 0000000..3f6b391 --- /dev/null +++ b/Week-7/exercise_7_3.js @@ -0,0 +1,17 @@ +function checkLoop(x,N){ + if(x<1 || N Date: Thu, 2 Feb 2023 22:03:08 +0530 Subject: [PATCH 02/10] Assignment Week 8 -exercise 7.1, 7.2, 7.3, 7.4, 7.5, 7.6 --- {Week-8 => Week-6}/Week-8 | 0 {Week-6 => Week-7}/Week-6 | 0 {Week-6 => Week-7}/exercise_6_1.js | 0 {Week-6 => Week-7}/exercise_6_2.js | 0 {Week-6 => Week-7}/exercise_6_3.js | 0 {Week-6 => Week-7}/exercise_6_4.js | 0 {Week-6 => Week-7}/exercise_6_5.js | 0 {Week-6 => Week-7}/exercise_6_6.js | 0 Week-7/exercise_7_5.js | 6 ----- Week-7/exercise_7_6.js | 0 {Week-7 => Week-8}/Week-7 | 0 {Week-7 => Week-8}/exercise_7_1.js | 0 {Week-7 => Week-8}/exercise_7_2.js | 0 {Week-7 => Week-8}/exercise_7_3.js | 0 {Week-7 => Week-8}/exercise_7_4.js | 0 Week-8/exercise_7_5.js | 19 +++++++++++++++ Week-8/exercise_7_6.js | 39 ++++++++++++++++++++++++++++++ 17 files changed, 58 insertions(+), 6 deletions(-) rename {Week-8 => Week-6}/Week-8 (100%) rename {Week-6 => Week-7}/Week-6 (100%) rename {Week-6 => Week-7}/exercise_6_1.js (100%) rename {Week-6 => Week-7}/exercise_6_2.js (100%) rename {Week-6 => Week-7}/exercise_6_3.js (100%) rename {Week-6 => Week-7}/exercise_6_4.js (100%) rename {Week-6 => Week-7}/exercise_6_5.js (100%) rename {Week-6 => Week-7}/exercise_6_6.js (100%) delete mode 100644 Week-7/exercise_7_5.js delete mode 100644 Week-7/exercise_7_6.js rename {Week-7 => Week-8}/Week-7 (100%) rename {Week-7 => Week-8}/exercise_7_1.js (100%) rename {Week-7 => Week-8}/exercise_7_2.js (100%) rename {Week-7 => Week-8}/exercise_7_3.js (100%) rename {Week-7 => Week-8}/exercise_7_4.js (100%) create mode 100644 Week-8/exercise_7_5.js create mode 100644 Week-8/exercise_7_6.js diff --git a/Week-8/Week-8 b/Week-6/Week-8 similarity index 100% rename from Week-8/Week-8 rename to Week-6/Week-8 diff --git a/Week-6/Week-6 b/Week-7/Week-6 similarity index 100% rename from Week-6/Week-6 rename to Week-7/Week-6 diff --git a/Week-6/exercise_6_1.js b/Week-7/exercise_6_1.js similarity index 100% rename from Week-6/exercise_6_1.js rename to Week-7/exercise_6_1.js diff --git a/Week-6/exercise_6_2.js b/Week-7/exercise_6_2.js similarity index 100% rename from Week-6/exercise_6_2.js rename to Week-7/exercise_6_2.js diff --git a/Week-6/exercise_6_3.js b/Week-7/exercise_6_3.js similarity index 100% rename from Week-6/exercise_6_3.js rename to Week-7/exercise_6_3.js diff --git a/Week-6/exercise_6_4.js b/Week-7/exercise_6_4.js similarity index 100% rename from Week-6/exercise_6_4.js rename to Week-7/exercise_6_4.js diff --git a/Week-6/exercise_6_5.js b/Week-7/exercise_6_5.js similarity index 100% rename from Week-6/exercise_6_5.js rename to Week-7/exercise_6_5.js diff --git a/Week-6/exercise_6_6.js b/Week-7/exercise_6_6.js similarity index 100% rename from Week-6/exercise_6_6.js rename to Week-7/exercise_6_6.js diff --git a/Week-7/exercise_7_5.js b/Week-7/exercise_7_5.js deleted file mode 100644 index 72df66a..0000000 --- a/Week-7/exercise_7_5.js +++ /dev/null @@ -1,6 +0,0 @@ -const N = 4; -const arr = [1,3,4,5] - -class Stack{ - -} diff --git a/Week-7/exercise_7_6.js b/Week-7/exercise_7_6.js deleted file mode 100644 index e69de29..0000000 diff --git a/Week-7/Week-7 b/Week-8/Week-7 similarity index 100% rename from Week-7/Week-7 rename to Week-8/Week-7 diff --git a/Week-7/exercise_7_1.js b/Week-8/exercise_7_1.js similarity index 100% rename from Week-7/exercise_7_1.js rename to Week-8/exercise_7_1.js diff --git a/Week-7/exercise_7_2.js b/Week-8/exercise_7_2.js similarity index 100% rename from Week-7/exercise_7_2.js rename to Week-8/exercise_7_2.js diff --git a/Week-7/exercise_7_3.js b/Week-8/exercise_7_3.js similarity index 100% rename from Week-7/exercise_7_3.js rename to Week-8/exercise_7_3.js diff --git a/Week-7/exercise_7_4.js b/Week-8/exercise_7_4.js similarity index 100% rename from Week-7/exercise_7_4.js rename to Week-8/exercise_7_4.js diff --git a/Week-8/exercise_7_5.js b/Week-8/exercise_7_5.js new file mode 100644 index 0000000..1f70493 --- /dev/null +++ b/Week-8/exercise_7_5.js @@ -0,0 +1,19 @@ +function NextGreaterElement(nums){ + let NextGreaterElementArray =[] + let stack = [-1] + //nums = arr.reverse(); + + for(let i=nums.length; i>=0; i--){ + while(stack[stack.length-1] <= nums[i] && stack[stack.length-1] != -1){ + stack.pop(); + } + + if(stack[stack.length-1] >= nums[i] || stack[stack.length-1] == -1){ + NextGreaterElementArray.push(stack[stack.length-1]); + } + stack.push(nums[i]); + } + console.log(NextGreaterElementArray.reverse()) + } + + NextGreaterElement([1,3,2,4]) \ No newline at end of file diff --git a/Week-8/exercise_7_6.js b/Week-8/exercise_7_6.js new file mode 100644 index 0000000..6ab0c9c --- /dev/null +++ b/Week-8/exercise_7_6.js @@ -0,0 +1,39 @@ +class Queue { + constructor() { + this.stack1 = []; + this.stack2 = []; + } + + enqueue(value) { + this.stack1.push(value); + } + + dequeue() { + if (this.stack2.length === 0) { + if (this.stack1.length === 0) { + console.log("Queue is empty"); + return; + } + while (this.stack1.length > 0) { + this.stack2.push(this.stack1.pop()); + } + } + return this.stack2.pop(); + } + } + + +const input = [1, 2, 1, 3, 2, 1, 4, 2]; +let output = []; + +const queue = new Queue(); + +for (let i = 0; i < input.length; i++) { + if (input[i] === 1) { + queue.enqueue(input[i + 1]); + i += 1; + } else if (input[i] === 2) { + output.push(queue.dequeue()); + } +} +console.log(output); \ No newline at end of file From 08643cd0df00e014376dbf303ecdb51e16edbd1a Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Thu, 2 Feb 2023 22:07:56 +0530 Subject: [PATCH 03/10] merge fix --- {Week-7 => Week-6}/Week-6 | 0 Week-6/Week-8 | 1 - Week-6/exercise_6_1.js | 25 +++++++++++++++++ Week-6/exercise_6_2.js | 56 +++++++++++++++++++++++++++++++++++++++ Week-6/exercise_6_3.js | 34 ++++++++++++++++++++++++ Week-6/exercise_6_4.js | 29 ++++++++++++++++++++ Week-6/exercise_6_5.js | 18 +++++++++++++ Week-6/exercise_6_6.js | 31 ++++++++++++++++++++++ Week-8/Week-7 | 1 - 9 files changed, 193 insertions(+), 2 deletions(-) rename {Week-7 => Week-6}/Week-6 (100%) delete mode 100644 Week-6/Week-8 create mode 100644 Week-6/exercise_6_1.js create mode 100644 Week-6/exercise_6_2.js create mode 100644 Week-6/exercise_6_3.js create mode 100644 Week-6/exercise_6_4.js create mode 100644 Week-6/exercise_6_5.js create mode 100644 Week-6/exercise_6_6.js delete mode 100644 Week-8/Week-7 diff --git a/Week-7/Week-6 b/Week-6/Week-6 similarity index 100% rename from Week-7/Week-6 rename to Week-6/Week-6 diff --git a/Week-6/Week-8 b/Week-6/Week-8 deleted file mode 100644 index 8b13789..0000000 --- a/Week-6/Week-8 +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Week-6/exercise_6_1.js b/Week-6/exercise_6_1.js new file mode 100644 index 0000000..3d23d87 --- /dev/null +++ b/Week-6/exercise_6_1.js @@ -0,0 +1,25 @@ +function maxSubarraySum(arr){ + let maxSum = 0; + let currentSum = 0; + + for(el of arr){ + currentSum += el; + + if(currentSum < 0){ + currentSum = 0; + } + + if(currentSum > maxSum){ + maxSum = currentSum; + } + } + + return maxSum; +} + +let maxSubarraySumValue = maxSubarraySum([1, 2, 3, 4, -10]) +console.log(maxSubarraySumValue) + + +maxSubarraySumValue = maxSubarraySum([-2, 1, -3, 4, -1, 2, 1, -5, 4]) +console.log(maxSubarraySumValue) \ No newline at end of file diff --git a/Week-6/exercise_6_2.js b/Week-6/exercise_6_2.js new file mode 100644 index 0000000..8a10314 --- /dev/null +++ b/Week-6/exercise_6_2.js @@ -0,0 +1,56 @@ +function spiralMatrix(matrix){ + let rowCount = matrix.length + let colCount = matrix[0].length + let x = 0; + let y = 0; + let res = [] + let temp = 0; + let totalrun = rowCount*colCount + + while(temp=y; i--){ + res.push(matrix[rowCount-1][i]); + temp++; + } + + rowCount--; + + for(let i=rowCount-1; i>=x; i--){ + res.push(matrix[i][y]); + temp++; + } + + //x++; + y++; + //rowCount--; + //colCount--; + + } + return res; +} + +let matrix = [[1,2,3], + [4,5,6], + [7,8,9]] +console.log(spiralMatrix(matrix)) + + +matrix = [[ 1, 2, 3, 4], + [ 5, 6, 7, 8], + [ 9,10,11,12], + [13,14,15,16]] +console.log(spiralMatrix(matrix)) diff --git a/Week-6/exercise_6_3.js b/Week-6/exercise_6_3.js new file mode 100644 index 0000000..7fbc43f --- /dev/null +++ b/Week-6/exercise_6_3.js @@ -0,0 +1,34 @@ +function sortArray(arr){ + let zero = 0; + let two = arr.length; + + for(el of arr){ + if(el == 0){ + zero++; + } + if(el == 2){ + two--; + } + } + + for(let i=0;ia-b); + let ans = nums[0] + nums[1] + nums[2]; + + for(let i=0; i< nums.length-2; i++){ + let first = i; + let second = i+1; + let third = nums.length-1; + + while(second target){ + third --; + } + else{ + second ++; + } + } + } + return ans; +}; + +console.log(threeSumClosest([4,0,5,-5,3,3,0,-4,-5], -2)) +console.log(threeSumClosest([-1,2,1,-4], 1)) +console.log(threeSumClosest([0,0,0], 0)) \ No newline at end of file diff --git a/Week-8/Week-7 b/Week-8/Week-7 deleted file mode 100644 index 8b13789..0000000 --- a/Week-8/Week-7 +++ /dev/null @@ -1 +0,0 @@ - From 984a44f220b4dfb93bf2135897bd3e64465ff32a Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Thu, 2 Feb 2023 22:14:31 +0530 Subject: [PATCH 04/10] Create readme.md --- Week-8/readme.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Week-8/readme.md diff --git a/Week-8/readme.md b/Week-8/readme.md new file mode 100644 index 0000000..959ffdf --- /dev/null +++ b/Week-8/readme.md @@ -0,0 +1,19 @@ +Assignment week 8 + +Exercise 7.1 - snapshot +![Screenshot from 2023-02-02 22-11-03](https://user-images.githubusercontent.com/20619491/216386656-1d5db992-dacc-4caf-a410-b456a931ce1f.png) + +Exercise 7.2 - snapshot +![Screenshot from 2023-02-02 22-12-01](https://user-images.githubusercontent.com/20619491/216386833-4a0a1daa-9f05-4859-84f6-739cb9ff6e43.png) + +Exercise 7.3 - snapshot +![Screenshot from 2023-02-02 22-12-27](https://user-images.githubusercontent.com/20619491/216386940-4b23579a-e8de-496b-ab72-9d681a4028c8.png) + +Exercise 7.4 - snapshot +![Screenshot from 2023-02-02 22-13-12](https://user-images.githubusercontent.com/20619491/216387135-5c7eece4-8df1-42e0-946f-bafec586aa09.png) + +Exercise 7.5 - snapshot +![Screenshot from 2023-02-02 22-13-36](https://user-images.githubusercontent.com/20619491/216387220-ef39cfb4-3be3-43d3-a027-6f8816c19fa3.png) + +Exercise 7.6 - snapshot +![Screenshot from 2023-02-02 22-14-06](https://user-images.githubusercontent.com/20619491/216387348-e2e183fa-4a24-4d4d-b3fd-47ac5b0505a7.png) From 24d7c22bc32af6187c84811f86089e08c139e5bd Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Sat, 4 Feb 2023 17:35:18 +0530 Subject: [PATCH 05/10] Update exercise_7_1.js --- Week-8/exercise_7_1.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Week-8/exercise_7_1.js b/Week-8/exercise_7_1.js index 7e65a73..fd685d0 100644 --- a/Week-8/exercise_7_1.js +++ b/Week-8/exercise_7_1.js @@ -69,9 +69,6 @@ class LinkedList{ } } -function reverseLinkedList(){ - -} let newLinkedList = new LinkedList; @@ -81,4 +78,7 @@ for(let i=1;i<=10;i++){ newLinkedList.display(); newLinkedList.reverse(); -newLinkedList.display(); \ No newline at end of file +newLinkedList.display(); + +//Time complexity: O(n) +//Space complexity: O(n) From dda5d403f616a9a5260484950e42629a565c049b Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Sat, 4 Feb 2023 17:35:49 +0530 Subject: [PATCH 06/10] Update exercise_7_2.js --- Week-8/exercise_7_2.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Week-8/exercise_7_2.js b/Week-8/exercise_7_2.js index 2312340..f5ce76b 100644 --- a/Week-8/exercise_7_2.js +++ b/Week-8/exercise_7_2.js @@ -58,4 +58,7 @@ for(let i=1;i<=10;i++){ newLinkedList.display(); newLinkedList.rotateLinkedlist(3); -newLinkedList.display(); \ No newline at end of file +newLinkedList.display(); + +//Time complexity: O(n) +//Space complexity: O(1) From f2deb3e0b86e6e4237284131c768149888ed1568 Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Sat, 4 Feb 2023 17:40:15 +0530 Subject: [PATCH 07/10] Update exercise_7_3.js --- Week-8/exercise_7_3.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Week-8/exercise_7_3.js b/Week-8/exercise_7_3.js index 3f6b391..f8ad954 100644 --- a/Week-8/exercise_7_3.js +++ b/Week-8/exercise_7_3.js @@ -13,5 +13,6 @@ console.log(checkLoop(2,3)) console.log(checkLoop(0,5)) - +//Time complexity: O(1) +//Space complexity: O(1) From 135d5fc18d92d5a1b8127b6ea0bac67634b95c06 Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Sat, 4 Feb 2023 17:40:37 +0530 Subject: [PATCH 08/10] Update exercise_7_4.js --- Week-8/exercise_7_4.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Week-8/exercise_7_4.js b/Week-8/exercise_7_4.js index 580be7d..ab79eaf 100644 --- a/Week-8/exercise_7_4.js +++ b/Week-8/exercise_7_4.js @@ -50,3 +50,5 @@ for(el of exp){ console.log(flag); +//Time complexity: O(n) +//Space complexity: O(n) From d1d26a3b5571b27fab466ad0d86b45bc96e5e10f Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Sat, 4 Feb 2023 17:40:56 +0530 Subject: [PATCH 09/10] Update exercise_7_5.js --- Week-8/exercise_7_5.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Week-8/exercise_7_5.js b/Week-8/exercise_7_5.js index 1f70493..9edc9c0 100644 --- a/Week-8/exercise_7_5.js +++ b/Week-8/exercise_7_5.js @@ -16,4 +16,7 @@ function NextGreaterElement(nums){ console.log(NextGreaterElementArray.reverse()) } - NextGreaterElement([1,3,2,4]) \ No newline at end of file + NextGreaterElement([1,3,2,4]) + +//Time complexity: O(n^2) +//Space complexity: O(n) From 5606d1d17f0b23c63e734d8dd1f160f120c02fe8 Mon Sep 17 00:00:00 2001 From: Shobhit Patel Date: Sat, 4 Feb 2023 17:41:19 +0530 Subject: [PATCH 10/10] Update exercise_7_6.js --- Week-8/exercise_7_6.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Week-8/exercise_7_6.js b/Week-8/exercise_7_6.js index 6ab0c9c..3d8c06c 100644 --- a/Week-8/exercise_7_6.js +++ b/Week-8/exercise_7_6.js @@ -36,4 +36,7 @@ for (let i = 0; i < input.length; i++) { output.push(queue.dequeue()); } } -console.log(output); \ No newline at end of file +console.log(output); + +//Time complexity: O(n) +//Space complexity: O(n)