Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const numbers = [5, 17, 3, 17, 4, -1];
  2.  
  3. function getDuplicateIndex(arr) {
  4.   const values = {}
  5.   let res = null
  6.   for (let i = 0; i <= arr.length; i++) {
  7.     if (values[arr[i]]) {
  8.       res = i
  9.       break
  10.     }
  11.     else values[arr[i]] = true
  12.   }
  13.  
  14.   if (res !== null) return res
  15.   return 'no duplicates'
  16. }
  17.  
  18. // Time complexity O(n)
  19. // Space complexity O(n)
  20.  
  21. // const res = getDuplicateIndex(numbers); // 3
  22. // console.log("TCL: res", res)
  23.  
  24. class Node {
  25.   constructor(value) {
  26.     this.value = value
  27.     this.children = null
  28.   }
  29. }
  30.  
  31. function treeSum(node) {
  32.   if (!node) return null
  33.   let sum = 0
  34.   const queue = []
  35.   queue.push(node)
  36.  
  37.   while(queue.length > 0) {
  38.     const currentNode = queue[0]
  39.     sum += queue.shift().value
  40.     if(currentNode.children && currentNode.children.length > 0) {
  41.       currentNode.children.forEach(item => queue.push(item))
  42.     }
  43.   }
  44.  
  45.   return sum
  46. }
  47.  
  48. const parentNode = new Node(7)
  49. const subNode1 = new Node(1)
  50. const subNode2 = new Node(2)
  51. const subNode3 = new Node(3)
  52. const subNode4 = new Node(3)
  53.  
  54. parentNode.children = [subNode1, subNode2, subNode3, subNode4]
  55.  
  56. console.log(treeSum(parentNode));
  57. // Time complexity O(n)
  58. // Space complexity O(n)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement