zoukankan      html  css  js  c++  java
  • 西电网络赛

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    using namespace std;
    /****************************************************************************************************************
                    题意:  给定两个串 s,s1,在s中删除所有在s1中出现的字符
                    思路:
                    1,至今没有想出什么好算法,有点取巧
                    2,因为题意告诉输入只可能是小写英文字母,所以用数组存上每个字母出现的个数
                    3,当  a[i] && !b[i] ,即s中出现,s1中没出现的时候,输出该字符
    ****************************************************************************************************************/
    int main()
    {
        int a[26],b[26];
        string s,s1;
        while(cin>>s>>s1)
        {
            memset(a,0,sizeof(a));
            memset(b,0,sizeof(b));
    
            for(int i = 0;i < s.size();i ++)
                a[s[i]-'a']++;
            for(int i = 0;i < s1.size();i ++)
                b[s1[i]-'a']++;
    
            int flag=0;
            for(int i = 0;i < s.size();i ++){
                if(a[s[i]-'a'] && !b[s[i]-'a']){
                    flag=1;
                    cout<<s[i];
                }
            }
            if(flag)
                cout<<endl;
            else
                cout<<"EMPTY"<<endl;
        }
        return 0;
    }
    

  • 相关阅读:
    合并两个有序链表
    有效括号方法二
    有效括号
    es6 中的模块化
    XMLHttpRequest 对象
    AST
    php读写文件方式
    vue开发中遇到的问题
    sublime操作
    cmd命令
  • 原文地址:https://www.cnblogs.com/Jstyle-continue/p/6352012.html
Copyright © 2011-2022 走看看