Separate Black and White Balls

MediumTwo PointersStringGreedy

Solution

export function minimumSteps(s: string): number {
  let answer = 0;
  let oneCount = 0;
  for (const char of s) {
    if (char === '1') {
      oneCount += 1;
    } else {
      answer += oneCount;
    }
  }
  return answer;
}

Complexity

  • Time: O(N)
  • Space: O(1)