关注
接上:
string compAndSetValue(string avail_str, string use_str){ // a:5 & a:3 => a:2
int len1 = avail_str.size();
int index1 = avail_str.find(':');
string a_pre_str = avail_str.substr(0,index1);
string a_post_str = avail_str.substr(index1+1,len1-1-index1);
int a_num;
sscanf(a_post_str.c_str(),"%d",&a_num); // convert string to number
int len2 = use_str.size();
int index2 = use_str.find(':');
string u_pre_str = use_str.substr(0,index2);
string u_post_str = use_str.substr(index2+1,len2-1-index2);
int u_num;
sscanf(u_post_str.c_str(),"%d",&u_num); // convert string to number
if(a_pre_str==u_pre_str){
a_num -= u_num;
char ch_num[10]; //const_cast<char*>(a_post_str.c_str())
sprintf(ch_num,"%d",a_num); // convert number to string
a_post_str = ch_num;
avail_str = a_pre_str + ':' + a_post_str;
}
return avail_str;
}
string outputAvailSet(vector<string> avail_set, vector<string> used_set){
int a_len = avail_set.size();
int u_len = used_set.size();
for(int i=0;i<u_len;++i){
for(int j=0;j<a_len;++j){
avail_set[j] = compAndSetValue(avail_set[j],used_set[i]);
}
}
string str;
for(int i=0;i<a_len;++i){
if(i<a_len-1){
str += avail_set[i] + ',';
}else{
str += avail_set[i];
}
}
return str;
}
int main(int argc, char *argv[])
{
string str = "a:3,b:5,C:12,d:100@a:1,b:5,C:9"; //input
unsigned long long cut_point = str.find('@');
int len = str.size();
string str1 = str.substr(0,cut_point);
string str2 = str.substr(cut_point+1,len-1-cut_point);
vector<string> avail_set = cutStr(str1);
vector<string> used_set = cutStr(str2);
string avail_set_str = outputAvailSet(avail_set,used_set);
cout<<avail_set_str<<endl; //output
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8897次浏览 218人参与
# 实习简历求拷打 #
14371次浏览 167人参与
# 被上班搭子“传染”了哪些习惯 #
5901次浏览 99人参与
# 秋招被挂春招仍然能投的公司 #
7189次浏览 101人参与
# 工作后,你落下了哪些病根 #
14059次浏览 192人参与
# 作业帮求职进展汇总 #
83584次浏览 547人参与
# 外包能不能当跳板? #
54194次浏览 256人参与
# mt对你说过最有启发的一句话 #
37581次浏览 449人参与
# 一起聊美团 #
307366次浏览 1764人参与
# 摸鱼被leader发现了怎么办 #
102590次浏览 652人参与
# 京东开奖 #
631783次浏览 3180人参与
# 投格力的你,拿到offer了吗? #
153082次浏览 817人参与
# 秋招特别不鸣谢 #
16146次浏览 181人参与
# 考研失败就一定是坏事吗? #
201773次浏览 1378人参与
# 选实习,你更看重哪方面? #
14638次浏览 222人参与
# 安克创新求职进展汇总 #
62427次浏览 541人参与
# 京东美团大战,你怎么看? #
158222次浏览 861人参与
# 第一次面试 #
1036684次浏览 13683人参与
# 担心入职之后被发现很菜怎么办 #
266503次浏览 1133人参与
# 你今年的保底offer是哪家 #
155315次浏览 677人参与
