在 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP