2
public int minimumTime(String s) {5
int[] nums = new int[n];6
for (int i = 0; i < n; i++) nums[i] = s.charAt(i) - '0';9
int[] leftOptimized = new int[n + 2];10
for (int i = 1; i <= n; i++) {11
leftOptimized[i] = Math.min(i, leftOptimized[i - 1] + (nums[i - 1] == 1 ? 2 : 0));15
int[] rightOptimized = new int[n + 2];16
for (int i = n; i > 0; i--) {17
rightOptimized[i] = Math.min(n - i + 1, rightOptimized[i + 1] + (nums[i - 1] == 1 ? 2 : 0));21
for (int p = 0; p <= n; p++) {22
min = Math.min(min, leftOptimized[p] + rightOptimized[p + 1]);