Pemrograman KompetitifMudah

Penyeimbangan braket Swap Minimum

Panduan terperinci dan implementasi Python untuk masalah 'Penyeimbangan braket Swap Minimum'.

Pernyataan Masalah

Mudah

Tulis fungsi minimum_swaps_balancing(s) yang mengambil string s dari tanda kurung siku [ dan ] berisi jumlah tanda kurung buka dan tutup yang sama, dan mengembalikan jumlah minimum pertukaran karakter berdekatan yang diperlukan untuk menyeimbangkan string.

Kendala
  • 2 <= len(s) <= 10^5
  • s contains only '[' and ']'
  • Count of '[' equals count of ']'

Contoh

Example 1
Input
minimum_swaps_balancing('[]][[]')
Output
1
Explanation

Swap index 2 and 3 -> '[][][]', which is balanced. (1 swap)

Example 2
Input
minimum_swaps_balancing(']]][[[')
Output
6
Explanation

We can swap adjacent brackets to make it balanced, requiring 6 swaps in total.

Need a Hint?
Pertimbangkan untuk menggunakan struktur data khusus Greedy seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Buka di Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.