filmov
tv
Adding Two Negabinary Numbers - Part 2 - Optimization - leetcode - medium difficulty

Показать описание
Walk through the process of optimizing space complexity and time complexity of my solution of "Add Two Negabinary Numbers".
In this video, I was able to improve:
- space complexity from O(n) to O(1) aka constant space
- time complexity from O(n) to O(n). No changes but cleaner logic.
Problem Description:
Given two numbers arr1 and arr2 in base -2, return the result of adding them together.
Each number is given in array format: as an array of 0s and 1s, from most significant bit to least significant bit. For example, arr = [1,1,0,1] represents the number (-2)^3 + (-2)^2 + (-2)^0 = -3. A number arr in array format is also guaranteed to have no leading zeros: either arr == [0] or arr[0] == 1.
Return the result of adding arr1 and arr2 in the same format: as an array of 0s and 1s with no leading zeros.
In this video, I was able to improve:
- space complexity from O(n) to O(1) aka constant space
- time complexity from O(n) to O(n). No changes but cleaner logic.
Problem Description:
Given two numbers arr1 and arr2 in base -2, return the result of adding them together.
Each number is given in array format: as an array of 0s and 1s, from most significant bit to least significant bit. For example, arr = [1,1,0,1] represents the number (-2)^3 + (-2)^2 + (-2)^0 = -3. A number arr in array format is also guaranteed to have no leading zeros: either arr == [0] or arr[0] == 1.
Return the result of adding arr1 and arr2 in the same format: as an array of 0s and 1s with no leading zeros.