关注
#include<iostream>
#include<set>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
bool cmpa(vector<int>& a, vector<int>& b) {
if (a[0] < b[0]) return true;
else if (a[0] > b[0]) return false;
else {
if (a[1]<b[1]) return true;
else return false;
}
}
vector<vector<int>> merge(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end(), cmpa);
vector<vector<int>> res;
for (int i = 0; i < intervals.size(); i++)
{
int size = res.size();
if (res.empty() || res[size - 1][1]<intervals[i][0])
res.push_back(intervals[i]);
else
res[size - 1][1] = max(intervals[i][1], res[size - 1][1]);
}
return res;
}
int main() {
string in;
cin >> in;
int len = in.size();
set<char> se;
vector<vector<int>> arr;
for (int i = 0; i < len;i++) {
if (se.find(in[i]) == se.end()) {
int first = in.find_first_of(in[i]);
int end1 = in.find_last_of(in[i]);
se.insert(in[i]);
vector<int > temp;
temp.push_back(first);
temp.push_back(end1);
arr.push_back(temp);
}
}
vector<vector<int>> res = merge(arr);
for (int i = 0; i < res.size(); i++) {
if (i == (res.size() - 1))cout << res[i][1] - res[i][0] + 1<<endl;
else cout << res[i][1] - res[i][0] + 1 << ",";
}
system("pause");
return 0;
}
查看原帖
点赞 1
相关推荐
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
872670次浏览 13842人参与
# 机械制造薪资爆料 #
325693次浏览 3783人参与
# 24届软开秋招面试经验大赏 #
1066626次浏览 16980人参与
# 晒一晒我的offer #
3520194次浏览 55756人参与
# 如果重来一次你还会读研吗 #
75148次浏览 727人参与
# offer决赛圈,我是怎么选的 #
204815次浏览 2300人参与
# 金三银四,你有感觉到吗 #
335292次浏览 4271人参与
# 国企vs私企,你更想去? #
25612次浏览 292人参与
# 求职遇到的搞笑事件 #
20005次浏览 291人参与
# 我发现了面试通关密码 #
357174次浏览 6724人参与
# 2023届毁约公司名单 #
94309次浏览 370人参与
# 0offer是寒冬太冷还是我太菜 #
434024次浏览 4981人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
38300次浏览 375人参与
# 你觉得找工作该拿大厂还是小厂练手 #
63647次浏览 903人参与
# 好工作要具备的条件有哪些? #
4497次浏览 61人参与
# 我在牛爱网找对象 #
51669次浏览 342人参与
# 海康威视求职进展汇总 #
104840次浏览 1246人参与
# 你会选择考研还是直接就业 #
79843次浏览 925人参与
# 实习与准备秋招该如何平衡 #
182934次浏览 3258人参与
# 职业发展规划如何回答 #
12756次浏览 89人参与