From 1b43a2fe513f7fb68c1c0ffacd1a43eb5949c791 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Tue, 8 Oct 2024 20:06:44 +0200 Subject: [PATCH] =?UTF-8?q?java:=20add=20=C2=AB1963.=20Minimum=20Number=20?= =?UTF-8?q?of=20Swaps=20to=20Make=20the=20String=20Balanced=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit URL: https://leetcode.com/problems/minimum-number-of-swaps-to-make-the-string-balanced/ Signed-off-by: Matej Focko --- ...-of-swaps-to-make-the-string-balanced.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 java/minimum-number-of-swaps-to-make-the-string-balanced.java 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; + } +}