#include <stdio.h> #include <vector> #include <map> #include <string> using namespace std; bool Isvalid(string str1, string str2) { map<char, int> m; for (int i = 0; i < str2.size(); i++) { m[str2[i]]++; } for (int i = 0; i < str1.size(); i++) { m[str1[i]]--; if (m[str1[i]] < 0) { return false; } } return true; } bool Print(vector<string> A, vector<string> B) { for (int i = 0; i < A.size(); i++) { string str = A[i]; bool flag = false; for (int j = 0; j < B.size(); j++) { if (Isvalid(str, B[j])) { flag = true; break; } } if (!flag) { return false; } } } int main(void) { vector<string> A = { "abcd", "d", "ebd", "bcda" }; vector<string> B = { "abcdfg", "bcde" }; bool res = Print(A, B); return 0; } 花了几分钟 写了一下 看看吧 感觉应该没问题
点赞 1

相关推荐

高斯林的信徒:武大简历挂?我勒个骚岗
点赞 评论 收藏
分享
FieldMatching:看成了猪头顾问,不好意思
点赞 评论 收藏
分享
牛客网
牛客企业服务