首页 > 其他 > 详细

PAT Advanced 1050 String Subtraction (20分)

时间:2020-01-21 13:06:28      阅读:72      评论:0      收藏:0      [点我收藏+]

Given two strings S?1?? and S?2??, S=S?1??S?2?? is defined to be the remaining string after taking all the characters in S?2?? from S?1??. Your task is simply to calculate S?1??S?2?? 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 S?1?? and S?2??, 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 S?1??S?2?? in one line.

Sample Input:

They are students.
aeiou
 

Sample Output:

Thy r stdnts.

 

这题考了差集,用unordered_map进行判别会节省一点时间

#include <iostream>
#include <unordered_map>
using namespace std;
unordered_map<char, bool> m;
int main() {
    string str, pattern, res;
    getline(cin, str);
    getline(cin, pattern);
    for(int i = 0; i < pattern.length(); i++) m[pattern[i]] = 1;
    for(int i = 0; i < str.length(); i++)
        if(!m[str[i]]) res += str[i];
    cout << res;
    system("pause");
    return 0;
}

PAT Advanced 1050 String Subtraction (20分)

原文:https://www.cnblogs.com/littlepage/p/12221187.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!