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;
	}
};
相关推荐
凯瑟琳.奥古斯特2 小时前
K次取反最大化数组和解法(力扣1005)
开发语言·c++·算法·leetcode·职场和发展
林中青木2 小时前
CT重构原理及C++代码实现
c++·计算机视觉·重构
满天星83035772 小时前
Protobuf的介绍及使用
c++
☆cwlulu2 小时前
调试排查工具介绍(gdb、strace、Valgrind等)
开发语言·c++·嵌入式硬件·ubuntu
卷无止境2 小时前
C++ 存储类说明符(Storage Class Specifier)大横评
c++·后端
卷无止境3 小时前
C++ 编程的一大坑:非常量全局变量是"万恶之源"
c++·后端
C语言小火车3 小时前
C++ 快速排序(Quick Sort)深度精讲:分治思想、Lomuto 分区法及三数取中优化,面试手撕必会
c语言·开发语言·c++·面试·排序算法·快速排序
瓶中怪4 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
从零开始的代码生活_4 小时前
NAT、代理服务与内网穿透详解
linux·服务器·网络·c++·http·智能路由器
charlie1145141915 小时前
Cinux: 加载第一个内核:从 bootloader 跳进 C++
linux·开发语言·c++·嵌入式