SP1. 某云ES倒排索引
描述
示例1
输入:
[1, 5, 4, 9],["My lover", "Yours", "you are young", "My old age"],"My"
输出:
[1,9]
C++ 解法, 执行用时: 3ms, 内存消耗: 388KB, 提交时间: 2022-06-28
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param ID int整型vector * @param content string字符串vector * @param word string字符串 * @return int整型vector */ vector<int> invertedIndex(vector<int>& ID, vector<string>& content, string word) { // write code here vector<int> res; for(int i = 0; i < content.size(); i++){ if(content[i].find(word) != string::npos) res.push_back(ID[i]); } return res; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-07-29
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param ID int整型vector * @param content string字符串vector * @param word string字符串 * @return int整型vector */ bool cmp(const string& des,const string& src){ int n=des.size(); int m=src.size(); vector<int> next(n); for(int i=1,j=0;i<n;++i){ while(j>0&&des[i]!=des[j]){ j=next[j-1]; } if(des[i]==des[j])++j; next[i]=j; } for(int i=0,j=0;i<n;++i){ while(j>0&&des[i]!=src[j]){ j=next[j]; } if(des[i]==src[j])++j; if(j==m)return true; } return false; } vector<int> invertedIndex(vector<int>& ID, vector<string>& content, string word) { // write code here int n=content.size(); vector<int> res; for(int i=0;i<n;++i){ if(cmp(content[i],word))res.push_back(ID[i]); } return res; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-07-20
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param ID int整型vector * @param content string字符串vector * @param word string字符串 * @return int整型vector */ vector<int> invertedIndex(vector<int>& ID, vector<string>& content, string word) { // write code here vector<int> res{}; for(int i = 0; i < ID.size(); i++){ if(content[i].find(word) != string::npos){ res.push_back(ID[i]); } } return res; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-06-25
class Solution { public: vector<int> invertedIndex(vector<int>& ID, vector<string>& content, string word) { vector<int> z; for (int i = 0; i < content.size(); i++) { if (content[i].find(word) != -1) z.push_back(ID[i]); } return z; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-06-24
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param ID int整型vector * @param content string字符串vector * @param word string字符串 * @return int整型vector */ vector<int> invertedIndex(vector<int>& ID, vector<string>& content, string word) { // write code here vector<int> result; for(int i=0;i<content.size();i++) { if(content[i].find(word) != -1) result.push_back(ID[i]); } return result; } };