今天写了一个很蹩脚的算法(实现过程有些复杂,也可能有一些bug,需要优化):输入一个字符集如"a:3,b:5,C:12,d:100@a:1,b:5,C:9",@前属于全字符集,后面是使用字符集,数字部分代表使用数量;字母区分大小写,字符集间用逗号隔开。要求输出剩余可用字符集如上结果为"a:3,b:0,C:3"实现代码如下:#include <iostream>(720)#include <vector>using namespace std;vector<string> cutStr(string str){ int len = static_cast<int>(str.size()); vector<string> ch_set(str.size()); int start=0; int n=0; for(int i=0;i<len;++i){ if(str[i]==,){ ch_set[n] = str.substr(start,i-start); start = i+1; n++; } if(i==len-1){ ch_set[n] = str.substr(start,i-start+1); } } ch_set.resize(n+1); return ch_set;}