Mô tả bài toán
Cho mảng chuỗi. Tìm chuỗi đầu tiên mà chuỗi nghịch đảo của nó cũng có trong mảng.
Ví dụ
arr=["python","program","C#","language","#C"] → Output: "C#" (nghịch đảo "#C" có trong mảng).
Giải thuật
- O(N²): So sánh từng cặp.
- O(N) Hashmap: Duyệt mảng, lưu chuỗi vào map. Với mỗi chuỗi, kiểm tra nghịch đảo đã có trong map chưa.
Mã nguồn C++ (Hashmap)
#include <bits/stdc++.h>
using namespace std;
string checkRevStringArr(string arr[], int n) {
unordered_map<string,bool> mp;
for (int i=0; i
Đầu ra
The string from the array whose reverse is present in the array is C#