提取不重复的整数【牛客网】

题意理解

题意简单,提取不重复的整数,从一个int整数中从低位到高位依次输出不重复的整数值

问题分析

不重复想到了用stl模板的set,可以自动剔重。

尝试了以后,发现set有自动排序的功能,放弃,发现有个unordered_set,于是用之。

发现顺序是反的,于是找反向迭代器,unordered_set没有,于是用数组保存正常迭代器的输出,再反向输出数组中的整数

编译通过后,放到网站跑,发现顺序乱了,查资料发现是unordered_set不保存顺序,自然也不会稳定输出了。

上网资料后,发现对于反向输出,不用列表保存,用一个数保存,每次加一位即可。对于不重复的问题,可以用数组做标记,如果数字已经记录了,就丢弃。只用一个数组就可以解决问题了。

其他

思路上总是想着用stl好,能用stl就用stl,但是对stl了解的不全,什么时候可以用什么,不该用什么,不熟练。stl用不了的时候,简单的数组也可以达到效果。

参考一下的链接,学习了。

https://blog.csdn.net/u012503639/article/details/51811647

代码链接

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值