Skip to content

Commit 9ce28e1

Browse files
committed
Solved Sliding Window Problem
1 parent 124846d commit 9ce28e1

File tree

1 file changed

+157
-94
lines changed

1 file changed

+157
-94
lines changed

RandomPractise/server.js

Lines changed: 157 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -285,88 +285,88 @@ const createServer = http.createServer()
285285
// ================= Tree Implementation =================
286286

287287

288-
class BST{
289-
constructor(value){
290-
this.root = {
291-
value:value,
292-
left:null,
293-
right:null
294-
}
295-
}
296-
297-
298-
Node(value){
299-
return {
300-
value:value,
301-
left:null,
302-
right:null
303-
}
304-
}
305-
306-
add(value){
307-
let currentNode = this.root
308-
let newNode = this.Node(value)
309-
310-
while(currentNode.left != null && currentNode.right != null){
311-
if(value > currentNode.value){
312-
currentNode = currentNode.right
313-
}
314-
if(value < currentNode.value){
315-
currentNode = currentNode.left
316-
}
317-
}
318-
319-
if(value > currentNode.value){
320-
currentNode.right = newNode
321-
}else{
322-
currentNode.left = newNode
323-
}
324-
}
325-
326-
327-
addTrue(value){
328-
let newNode = this.Node(value)
329-
let currentNode = this.root
330-
331-
while(true){
332-
if(value > currentNode.value){
333-
if(!currentNode.right){
334-
currentNode.right = newNode
335-
return this
336-
}
337-
currentNode = currentNode.right
338-
}else{
339-
if(!currentNode.left){
340-
currentNode.left = newNode
341-
return this
342-
}
343-
currentNode = currentNode.left
344-
}
345-
}
346-
}
347-
348-
349-
available(value){
350-
let currentNode = this.root
351-
352-
while(true){
353-
if(!currentNode){
354-
console.log('Not Found')
355-
return
356-
}
357-
if(value === currentNode.value){
358-
console.log("Found Value", currentNode)
359-
return
360-
}
361-
else{
362-
if(value > currentNode.value){
363-
currentNode = currentNode.right
364-
}else{
365-
currentNode = currentNode.left
366-
}
367-
}
368-
}
369-
}
288+
// class BST{
289+
// constructor(value){
290+
// this.root = {
291+
// value:value,
292+
// left:null,
293+
// right:null
294+
// }
295+
// }
296+
297+
298+
// Node(value){
299+
// return {
300+
// value:value,
301+
// left:null,
302+
// right:null
303+
// }
304+
// }
305+
306+
// add(value){
307+
// let currentNode = this.root
308+
// let newNode = this.Node(value)
309+
310+
// while(currentNode.left != null && currentNode.right != null){
311+
// if(value > currentNode.value){
312+
// currentNode = currentNode.right
313+
// }
314+
// if(value < currentNode.value){
315+
// currentNode = currentNode.left
316+
// }
317+
// }
318+
319+
// if(value > currentNode.value){
320+
// currentNode.right = newNode
321+
// }else{
322+
// currentNode.left = newNode
323+
// }
324+
// }
325+
326+
327+
// addTrue(value){
328+
// let newNode = this.Node(value)
329+
// let currentNode = this.root
330+
331+
// while(true){
332+
// if(value > currentNode.value){
333+
// if(!currentNode.right){
334+
// currentNode.right = newNode
335+
// return this
336+
// }
337+
// currentNode = currentNode.right
338+
// }else{
339+
// if(!currentNode.left){
340+
// currentNode.left = newNode
341+
// return this
342+
// }
343+
// currentNode = currentNode.left
344+
// }
345+
// }
346+
// }
347+
348+
349+
// available(value){
350+
// let currentNode = this.root
351+
352+
// while(true){
353+
// if(!currentNode){
354+
// console.log('Not Found')
355+
// return
356+
// }
357+
// if(value === currentNode.value){
358+
// console.log("Found Value", currentNode)
359+
// return
360+
// }
361+
// else{
362+
// if(value > currentNode.value){
363+
// currentNode = currentNode.right
364+
// }else{
365+
// currentNode = currentNode.left
366+
// }
367+
// }
368+
// }
369+
// }
370370

371371

372372

@@ -378,26 +378,89 @@ class BST{
378378

379379

380380

381-
}
381+
// }
382+
383+
384+
// // const bst = new BST(22)
385+
// // bst.add(30)
386+
// // bst.add(15)
382387

383388

384389
// const bst = new BST(22)
385-
// bst.add(30)
386-
// bst.add(15)
390+
// bst.addTrue(30)
391+
// bst.addTrue(12)
392+
// bst.addTrue(14)
393+
// bst.addTrue(25)
394+
// bst.addTrue(23)
395+
// bst.addTrue(29)
396+
// // console.log('TREE:', bst.root)
397+
398+
399+
400+
// bst.available(29)
401+
402+
403+
// ================== Sliding Window Problem MAx Sub Array =============
404+
405+
// function Slide(array , k){
406+
407+
// let subarray = new Array()
408+
// for(let i=0; i< k ; i++){
409+
// subarray.push(array[i])
410+
// }
411+
// let max = 0;
412+
// for(let i=0;i <= array.length - k; i++){
413+
// let sum = array[i];
414+
// for(let j=i+1 ; j < i+k ;j++){
415+
// sum = sum + array[j]
416+
// }
417+
// if(max < sum){
418+
// max = sum
419+
// }
420+
// }
421+
422+
// console.log("Final MAX IS ", max)
423+
// }
424+
425+
// Slide([1, 4, 2, 10, 23, 3, 1, 0, 20], 4)
426+
427+
428+
// ================== Optimized Sliding Window MAx Sub Array =========
429+
430+
// function optimizeSubarray(array , k){
431+
432+
// let sum = 0;
433+
// let max = 0;
434+
// for(let i=0;i<k;i++){
435+
// sum += array[i]
436+
// }
437+
// max = sum;
438+
// let slider = k
439+
440+
// for(let j=0; j < array.length -k; j++){
441+
// sum = (sum - array[j]) + array[slider]
442+
// if(sum > max){
443+
// max = sum
444+
// }
445+
// slider++
446+
// }
447+
// console.log('Max sum is :', max)
448+
// }
449+
450+
// optimizeSubarray([1, 4, 2, 10, 23, 3, 1, 0, 20], 4)
451+
452+
453+
454+
455+
456+
457+
458+
387459

388460

389-
const bst = new BST(22)
390-
bst.addTrue(30)
391-
bst.addTrue(12)
392-
bst.addTrue(14)
393-
bst.addTrue(25)
394-
bst.addTrue(23)
395-
bst.addTrue(29)
396-
// console.log('TREE:', bst.root)
397461

398462

399463

400-
bst.available(29)
401464

402465

403466

0 commit comments

Comments
 (0)