题解 | #字符串加密#
字符串加密
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")
中等(算法题解) 文章被收录于专栏
中等难度题目