当前位置:网站首页>761. 特殊的二进制序列(分治)
761. 特殊的二进制序列(分治)
2022-08-09 04:01:00 【Harris-H】
761. 特殊的二进制序列(分治)
可等价为括号序列。
对于一个不可分割的括号序列显然 首位1和末位0不能操作。括号序列每个左括号唯一对应一个右括号。
因此我们可以对每一个原串的每个括号子串进行递归处理,处理到不可分割的括号序列之后就可以进行递归返回了,然后再对他们进行排序。
class Solution {
public:
string makeLargestSpecial(string s) {
if (s.size() <= 2) {
return s;
}
int cnt = 0, left = 0;
vector<string> subs;
for (int i = 0; i < s.size(); ++i) {
if (s[i] == '1') {
++cnt;
}
else {
--cnt;
if (cnt == 0) {
subs.push_back("1" + makeLargestSpecial(s.substr(left + 1, i - left - 1)) + "0");
left = i + 1;
}
}
}
sort(subs.begin(), subs.end(), greater<string>{
});
string ans = accumulate(subs.begin(), subs.end(), ""s);
return ans;
}
};
边栏推荐
猜你喜欢
[Network Tutorial] IPtables Official Tutorial - Study Notes 3
已解决ModuleNotFoundError: No module named ‘Workbook‘
提升用户体验,给你的模态弹窗加个小细节
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:粒子滤波器Particle Filter
「竞品分析报告」不会写?不知从哪收集数据?请收下这篇竞品指南
3年半测试经验,20K我都没有,看来是时候跳槽了...
H264之sps解析分辨率
static成员及代码块
2分钟,带你走完企业经营分析全流程,更有通用分析框架直接套用
win10怎么安装.net framework 3.5?
随机推荐
JS ES5也可以创建常量?
qt字符串之 QString详解
Error detected while processing /home/test/.vim/plugin/visualmark.vim
机器人工程师入门知识框架(思维导图)
OpenCV相机标定完全指南(有手就行)
了解CV和RoboMaster视觉组(五)目标跟踪:概述与光流法
One Pass 1258 - Digital Pyramid (Dynamic Programming)
5.索引优化实战
Swift3.0设置状态栏的背景颜色与文字颜色
宝塔实测-在线药店商城源码带WAP版
关于微软2022/2023秋招内推的几句
leetcode 33/81. 搜索旋转排序数组
卷积神经网络模型训练——入门理解
MATLAB | 比生命游戏更自由的生命游戏
【服务器数据恢复】Ext4文件系统fsck后mount不上并报错的数据修复案例
NanoDet代码逐行精读与修改(零)Architecture
5823. 字符串转化后的各位数字之和
SIP协议栈学习之开始篇
理性预测,未来音视频开发前景将是这般光景
07.1 类的的补充