题解 | #提取不重复的整数#

提取不重复的整数

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

#include <iostream>
#include<algorithm>
#include <vector>
#include <set>
using namespace std;

int main() {
    //输入
    string n;
    getline(cin,n);
    vector<int> num;
    for(int i=0;i<n.length();i++){
        int tmp = n[i] - (int)'0';
        num.push_back(tmp);
    }

    //去重
    //set<int> s(num.begin(),num.end());
    for(int i=num.size()-1;i>=1;i--){
        for(int j=i-1;j>=0;j--){
            if(num[i] == num[j])num[j] = 0;
        }
    }

    //输出
    for(int i=num.size()-1;i>=0;i--){
        if(num[i])cout<<num[i];
    }
}
// 64 位输出请用 printf("%lld")

做的过程花了很多时间,反过来看这题居然是入门难度。确实,用set、unique等都不大行得通,反倒是最基础的逻辑算法,用两层for循环最省事。

反思:要认清楚这种题目,既然就是考编程基础,那就用基础求解吧,只是考试时不知道题目难度是入门还是困难。

全部评论

相关推荐

牛客59349152...:没有让你做出个前后端页面,然后又不要你就知足了吧😂
点赞 评论 收藏
分享
06-10 18:55
已编辑
西安电子科技大学 Java
只管努力就好:恭喜恭喜恭喜,我都没有面试机会,上周被压力炸了,今天中午看页面显示被捞进入评估结果下午就没了
京东三面373人在聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务