题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

使用一个set确保密钥中的字符只获取一次,创建一个key,密钥中的字符如果是第一次出现,则加入set和key中,然后将字母表中剩余的字母按顺序加入key中,之后对字符串进行加密并输出。

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

int main() {
    string key;
    string s;
    cin >> key >> s;
    set<char> letters;
    string key_u;
    for (char letter : key) {
        if (letters.find(letter) == letters.end()) {
            letters.insert(letter);
            key_u += letter;
        }
    }
    for (char letter = 'a'; letter <= 'z'; letter++) {
        if (letters.find(letter) == letters.end()) {
            key_u += letter;
        }
    }
    for (char & letter : s) {
        letter = key_u.at(letter - 'a');
    }
    cout << s;
    return 0;
}
//vingemyvlsliijpisgxbg
// 64 位输出请用 printf("%lld")

中等(算法题解) 文章被收录于专栏

中等难度题目

全部评论

相关推荐

06-03 15:32
点赞 评论 收藏
分享
想申请延毕了,找工作找到崩溃,越找就越想摆烂,还有25届的和我一样感受吗?
码农索隆:没事哒,好兄弟,慢慢来,调整心态,车到山前必有路,感到迷茫的时候,多抬头看看
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务