数据分类处理【牛客网】

题意理解

有两个序列的整数,一个序列当成规则序列,对于这个序列的每个整数,在另外一个序列查找包含这个整数的数,打印这个整数的序号和整数值。这个规则序列需要预先排序剔重,对于每个规则的整数找到的整数序列,打印规则的整数,找到的整数序列个数,每个匹配到的整数序号和整数值。最后在前面记录总个数。

问题分析

用vector,algorithm(sort,unique)

算法思路:用vector<string>记录两个序列,I表示整数序列,R表示规则序列;对R序列排序,剔重,再遍历R序列,对于每个规则,在I序列中查找子串,如果找到将序号和整数值加入新vector<string>,I遍历结束后,在新vector上insert(vector.begin(),to_string(vector.size()/2)),insert(vector.begin(), to_string(规则整数)),然后插入结果序列Res, insert(Res.begin(), vector.begin(), vector.end()), 当遍历完所有R序列, 在insert(Res.begin(), to_string(Res.size())).

其他

涉及到几个泛型算法

sort, unique, insert, push_back.

剔重注意返回的是结尾迭代器。

to_string(int):整数转字符串

atoi(string.c_str()):字符串转整数 <stdlib.h>

参考:https://www.cnblogs.com/smile233/p/8379802.html

链接

https://github.com/xierensong/learngit/blob/master/ncode/21/21.cpp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值