Cho chuỗi chữ thường s và số dịch chuyển k. Thay mỗi ký tự bằng ký tự cách nó k vị trí trong bảng chữ cái (xoay vòng a-z).
Ví dụ: "hello", k=3 → "khoor".
Các bước giải quyết
- Hàm
shift(c):i = ord(c) - ord('a')i = (i + k) % 26- Trả về
chr(ord('a') + i)
- Áp dụng
shiftcho từng ký tự trongsvà nối lại
Ví dụ mã Python
class Solution:
def solve(self, s, k):
def shift(c):
i = ord(c) - ord('a')
i += k
i %= 26
return chr(ord('a') + i)
return "".join(map(shift, s))
ob = Solution()
print(ob.solve("hello", 3))
Đầu vào
"hello", 3
Đầu ra
khoor