在 C++ 中查詢字串解密後的第 k 個字元的程式
在本文中,我們將討論一個用於查詢字串解密後的第 k 個字元的程式。
為此,我們會得到一個字串,其中包含字元和數字及整數 K。我們的任務是解密給定的字串並找到位於第 k 個位置的字元。
示例
#include <cstdlib> #include <iostream> using namespace std; //finding decrypted Kth character char findKthChar(string s, int k) { int len = s.length(); int i = 0; int total_len = 0; while (i < len) { if (isalpha(s[i])) { total_len++; if (total_len == k) return s[i]; i++; } else { int n = 0; while (i < len && !isalpha(s[i])) { n = n * 10 + (s[i] - '0'); i++; } int next_total_len = total_len * n; if (k <= next_total_len) { int pos = k % total_len; if (!pos) { pos = total_len; } return findKthChar(s, pos); } else { total_len = next_total_len; } } } return -1; } int main() { string s = "ab2c3"; int k = 5; cout << findKthChar(s, k); return 0; }
輸出
c
廣告