Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm chuỗi đầu tiên có nghịch đảo cũng trong mảng bằng C++

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#