使用 C++ 在字串中查詢一個額外的字元。
假設我們有兩個字串 S 和 T,S 的長度是 n,T 的長度是 n + 1。T 將包含 S 中的所有字元,但還會包含一個額外的字元。我們的任務是使用一些有效的方法來查詢額外的字元。
為了解決這個問題,我們將取一個空雜湊表,並插入第二個字串的所有字元,然後刪除第一個字串中的每個字元,剩下的字元就是額外的字元。
示例
#include<iostream>
#include<unordered_map>
using namespace std;
char getExtraCharacter(string S, string T) {
unordered_map<char, int> char_map;
for (int i = 0; i < T.length(); i++)
char_map[T[i]]++;
for (int i = 0; i < S.length(); i++)
char_map[S[i]]--;
for (auto item = char_map.begin(); item != char_map.end(); item++) {
if (item->second == 1)
return item->first;
}
}
int main() {
string S = "PQRST";
string T = "TUQPRS";
cout << "Extra character: " << getExtraCharacter(S, T);
}輸出
Extra character: U
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP