1769. Minimum Number of Operations to Move All Balls to Each Box (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution:
    def minOperations(self, boxes: str) -> List[int]:
        n = len(boxes)
        result = [0] * n
        count = pre = 0
        for i in range(n - 1):
            count += boxes[i] == "1"
            pre += count
            result[i + 1] = pre
        count = pre = 0
        for i in range(n - 1, 0, -1):
            count += boxes[i] == "1"
            pre += count
            result[i - 1] += pre
        return result