当前位置:网站首页>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;
}
};
边栏推荐
- 光刻机随感
- 状态机使用小结
- If A, B, C, and D process parts, the total number of processed parts is 370. If the number of parts processed by A is 10 more, if the number of parts processed by B is 20 less, if the number of parts
- SIP协议栈学习之开始篇
- Kaggle(六)特征衍生技术 特征聚合
- 查询某时间段获得的积分总积分的大小进行排序
- 给电脑重装系统后修改远程桌面端口的方法
- 松柏集(江风起)
- 07 类与对象(一)
- 新工作切入反思
猜你喜欢
随机推荐
技术分享 | 使用 cURL 发送请求
Oracle并行检索
wift3.0 set the navigation bar, title, font, item color and font size
【平衡二叉搜索树】细撕AVL树的插入操作
技术分享 | 如何模拟真实使用场景?mock 技术来帮你
Win11一键重装系统后如何使用自带的故障检测修复功能
模型包装,答辩吹牛方法论!
32 Basic Statistics - Hypothesis Testing
Error detected while processing /home/test/.vim/plugin/visualmark.vim
【周赛复盘】力扣第 305 场单周赛
HyperLynx(四)差分传输线模型
卷积神经网络模型训练——入门理解
旭日图更好地呈现数据的层次结构,细致划分各项数据
卷积神经网络的推导过程
30 范数
盘点检索任务中的损失函数
MKNetworkKit replacing domain name wrong solution
Polygon zkEVM Prover
5. Index optimization practice
ffmpeg之H265解码









