牛客编程巅峰赛S1第5场 - 青铜&白银 A.凯撒密码(字符串)

-
题意:给你一个加密的字符串,以及偏移量,求对应的明文.
-
题解:根据样例,不难看出模板串是:\(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\),然后我们去遍历密文的每一位,减去偏移量再取个模就行.
-
代码:
class Solution { public: /** * 解密密文 * @param str string字符串 密文 * @param d int整型 偏移量 * @return string字符串 */ string decode(string str, int d) { const string tmp="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; for(int i=0;i<str.size();++i){ string c; c.push_back(str[i]); int p=tmp.find(c); str[i]=tmp[(p-d+62)%62]; } return str; } };
𝓐𝓬𝓱𝓲𝓮𝓿𝓮𝓶𝓮𝓷𝓽 𝓹𝓻𝓸𝓿𝓲𝓭𝓮𝓼 𝓽𝓱𝓮 𝓸𝓷𝓵𝔂 𝓻𝓮𝓪𝓵
𝓹𝓵𝓮𝓪𝓼𝓾𝓻𝓮 𝓲𝓷 𝓵𝓲𝓯𝓮

浙公网安备 33010602011771号