题解 | #提取不重复的整数# (C++ | 查重表解法)

提取不重复的整数

http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

时间:3ms 100%

空间:456kb 16.24%

#include<bits/stdc++.h>
using namespace std;

int main()
{
    bool arr[10]={false};	//查重表
  							//输入中的数字0~9映射到下标,对应数字出现过则赋值true
    string num;
    cin>>num;
    for(int i=num.length()-1;i>=0;i--)	//从最末位开始输出,因此逆向遍历
    {
        int digit=num[i]-48;	//ascii码转换为int值(48为'0'的ascii码
        if(arr[digit])	//若对应值为true,数字出现过
            continue;
        arr[digit]=true;	//若未出现过,这是第一次出现,赋值true
        cout<<num[i];	   //并且输出
    }
    
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:28
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务