class Solution {
public:
string getEncryptedString(string s, int k) {
}
};
100339. 找出加密后的字符串
给你一个字符串 s
和一个整数 k
。请你使用以下算法加密字符串:
s
中的每个字符 c
,用字符串中 c
后面的第 k
个字符替换 c
(以循环方式)。返回加密后的字符串。
示例 1:
输入: s = "dart", k = 3
输出: "tdar"
解释:
i = 0
,'d'
后面的第 3 个字符是 't'
。i = 1
,'a'
后面的第 3 个字符是 'd'
。i = 2
,'r'
后面的第 3 个字符是 'a'
。i = 3
,'t'
后面的第 3 个字符是 'r'
。示例 2:
输入: s = "aaa", k = 1
输出: "aaa"
解释:
由于所有字符都相同,加密后的字符串也将相同。
提示:
1 <= s.length <= 100
1 <= k <= 104
s
仅由小写英文字母组成。原站题解
php 解法, 执行用时: 14 ms, 内存消耗: 19.9 MB, 提交时间: 2024-07-09 09:49:06
class Solution { /** * @param String $s * @param Integer $k * @return String */ function getEncryptedString($s, $k) { $n = mb_strlen($s); $k %= $n; return mb_substr($s, $k) . mb_substr($s, 0, $k); } }
golang 解法, 执行用时: 3 ms, 内存消耗: 2.4 MB, 提交时间: 2024-07-09 09:43:57
func getEncryptedString(s string, k int) string { k %= len(s) return s[k:] + s[:k] }
cpp 解法, 执行用时: 7 ms, 内存消耗: 8.2 MB, 提交时间: 2024-07-09 09:43:42
class Solution { public: string getEncryptedString(string s, int k) { k %= s.length(); return s.substr(k) + s.substr(0, k); } };
java 解法, 执行用时: 1 ms, 内存消耗: 41.5 MB, 提交时间: 2024-07-09 09:43:30
class Solution { public String getEncryptedString(String s, int k) { k %= s.length(); return s.substring(k) + s.substring(0, k); } }
python3 解法, 执行用时: 46 ms, 内存消耗: 16.5 MB, 提交时间: 2024-07-09 09:43:14
# 字符串s循环左移k位 class Solution: def getEncryptedString(self, s: str, k: int) -> str: k %= len(s) return s[k:] + s[:k]