diff --git a/java/minimum-number-of-swaps-to-make-the-string-balanced.java b/java/minimum-number-of-swaps-to-make-the-string-balanced.java new file mode 100644 index 0000000..5075491 --- /dev/null +++ b/java/minimum-number-of-swaps-to-make-the-string-balanced.java @@ -0,0 +1,22 @@ +class Solution { + public int minSwaps(String s) { + var open = 0; + for (var c : s.toCharArray()) { + switch (c) { + case '[': + ++open; + break; + case ']': + if (open > 0) { + --open; + } + break; + default: + /* no-op */ + break; + } + } + + return (1 + open) / 2; + } +}