Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. const tapeEquilibrium = function(array) {
  2. let leftSum = array[0];
  3. let rightSum = array[array.length-1];
  4. if (array.length < 3) {
  5. return Math.abs(leftSum - rightSum);
  6. }
  7. let leftIndex = 1;
  8. let rightIndex = array.length-2;
  9. while (leftIndex <= rightIndex) {
  10. let leftElement = array[leftIndex];
  11. let rightElement = array[rightIndex];
  12. let newLeftSum = leftSum + leftElement;
  13. let newRightSum = rightSum + rightElement;
  14. let differenceAddingToLeft = Math.abs(newLeftSum - rightSum);
  15. let differenceAddingToRight = Math.abs(leftSum - newRightSum);
  16. if (differenceAddingToLeft <= differenceAddingToRight) {
  17. leftSum = newLeftSum;
  18. leftIndex++;
  19. } else {
  20. rightSum = newRightSum;
  21. rightIndex--;
  22. }
  23. }
  24. return Math.abs(leftSum - rightSum);
  25. }
  26.  
  27. tapeEquilibrium([3,1,2,4,3]) === 1;
  28. tapeEquilibrium([3,-100,2,4,3]) === 94;
  29. tapeEquilibrium([3,-100]) === 103;
  30. tapeEquilibrium([-99,1000,-100]) === 999;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement