Đề:
Code đáp án nhưng có vài chỗ em không hiểu :
int aramic(std::vector<std::string> words)
{
set<string> s;
for(int i=0; i<words.size(); i++){
string str = words[i];
set<string> ch;
for(int j=0; j<str.length(); j++){
ch.insert(str[j]);
}
string e="";
for(auto x:ch) e+=x;
s.insert(e);
}
return s.size();
}
Thực sự là em hỏi hơi nhiều nhưng em rất cần sự chỉ giáo của các pro.
1/ Ở trong phần input vì sao một vector <string>
hay string
lại được gán giá trị thành từng từ như vậy. Trong khi string[chỉ số]
em được biết chỉ là một ký tự mà?
2/ Vì sao dòng code này
string e="";
for(auto x:ch) e+=x;
s.insert(e);
em thay bằng code này thôi
s.insert(ch);
thì nó lại sai ạ? Có phải là kiểu dữ liệu set không thể chèn một kiểu dữ liệu set ?
3/ Vì sao khi em thay set<string> ch
cho set<char> ch
thì nó cũng lại sai?
Mọi người chịu khó dành ít thời gian giải thích giúp em với ạ. Em cảm ơn nhiều .