@@ -285,88 +285,88 @@ const createServer = http.createServer()
285
285
// ================= Tree Implementation =================
286
286
287
287
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
+ // }
370
370
371
371
372
372
@@ -378,26 +378,89 @@ class BST{
378
378
379
379
380
380
381
- }
381
+ // }
382
+
383
+
384
+ // // const bst = new BST(22)
385
+ // // bst.add(30)
386
+ // // bst.add(15)
382
387
383
388
384
389
// 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
+
387
459
388
460
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)
397
461
398
462
399
463
400
- bst . available ( 29 )
401
464
402
465
403
466
0 commit comments