zoukankan      html  css  js  c++  java
  • 1050 String Subtraction (20 分)

    Given two strings S1​​ and S2​​, S=S1​​S2​​ is defined to be the remaining string after taking all the characters in S2​​ from S1​​. Your task is simply to calculate S1​​S2​​ for any given strings. However, it might not be that simple to do it fast.

    Input Specification:

    Each input file contains one test case. Each case consists of two lines which gives S1​​ and S2​​, respectively. The string lengths of both strings are no more than 1. It is guaranteed that all the characters are visible ASCII codes and white space, and a new line character signals the end of a string.

    Output Specification:

    For each test case, print S1​​S2​​ in one line.

    Sample Input:

    They are students.
    aeiou
     

    Sample Output:

    Thy r stdnts.

    注意:考场上可能关闭快的服务器,只留慢的,所以两层for循环不保险
    两层for循环:
    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=10010;
    
    int main(){
        char s1[maxn];
        char s2[maxn];
        cin.getline(s1,maxn);
        cin.getline(s2,maxn);
        for(int i=0;s1[i]!='';i++){
            for(int j=0;s2[j]!='';j++){
                if(s1[i]==s2[j]){
                    s1[i]='0';
                }
            }
        }
        for(int i=0;s1[i]!='';i++){
            if(s1[i]!='0'){
                printf("%c",s1[i]);
            }
            else{
                continue;
            }
        }
        printf("
    ");
        return 0;
    }

    优化代码:

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=100010;
    char s1[maxn];
    char s2[maxn];
    bool flag[maxn]={false};
    int main(){
        cin.getline(s1,maxn);
        cin.getline(s2,maxn);
        int ls1=strlen(s1);
        int ls2=strlen(s2);
        for(int i=0;i<ls2;i++){
            flag[s2[i]]=true;//将字符转化为整形,作为下标存储
        }
        for(int i=0;i<ls1;i++){
            if(flag[s1[i]]==false){//相同下标下为false,则输出
                printf("%c",s1[i]);
            }
        }
        printf("
    ");
        return 0;
    }


  • 相关阅读:
    软工实践寒假作业(2/2)
    Java 内存溢出分析
    个人作业——软件工程实践总结&个人技术博客
    个人作业——软件测评
    结对第二次作业——某次疫情统计可视化的实现
    结对第一次作业-疫情统计可视化(原型设计)
    软工实践寒假作业(2/2)
    软工实践寒假作业(1/2)
    个人作业——软件工程实践总结&个人技术博客
    配合springboot的快速运维脚本
  • 原文地址:https://www.cnblogs.com/dreamzj/p/14364652.html
Copyright © 2011-2022 走看看