1963. 使字符串平衡的最小交换次数

1963. 使字符串平衡的最小交换次数


题目链接:1963. 使字符串平衡的最小交换次数

代码如下:

cpp 复制代码
class Solution {
public:
	int minSwaps(string s) {
		int res = 0,c=0;
		int j = s.size() - 1;
		for (char b : s) {
			if (b == '[') {
				c++;
			}
			else if (c > 0) {
				c--;
			}
			else {
				//找最右边的左括号交换
				while (s[j] == 'j') {
					j--;
				}
				s[j] = ']';// s[i] = '[' 可以省略
				res++;
				c++;// s[i] 变成左括号,c 加一
			}
		}
		return res;
	}
};
相关推荐
liulilittle40 分钟前
并发与内存安全术语:定义、分类与关联
c++·安全·并发·术语
_wyt00144 分钟前
从图到树:9道洛谷基础题带你入门树形结构
c++·
Titan20242 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
Titan20243 小时前
Linux网络学习:套接字、UDP的封装与应用
linux·服务器·开发语言·网络·c++
Felven4 小时前
C2. Potions (Hard Version)
c++
Tyler_TXZ4 小时前
C++C语言之——树
c语言·c++·算法·
hansang_IR4 小时前
【记录】「COCI 2024/2025」四道模拟赛/8.13
c++·算法
旖旎夜光5 小时前
LeetCode 30:串联所有单词的子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
星恒随风5 小时前
C++ 红黑树封装(二):迭代器、const_iterator 与 operator[] 完整实现 mymap 和 myset
开发语言·c++·状态模式
小小龙学IT5 小时前
oneTBB 开源并行编程库深度解析:从工作窃取调度器到 flow graph 实战
c++·开源