Skip to content

Commit d88dde3

Browse files
committed
update leetcode 460, 466, 472
1 parent b3006b9 commit d88dde3

File tree

6 files changed

+230
-3
lines changed

6 files changed

+230
-3
lines changed

cpp/leetcode/460. lfu-cache.cpp

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#include "public.h"
2+
3+
//180ms, 69.59%
4+
//认为使用频率指的是使用次数
5+
//首先有unordered_map<int, int> um存储键值对
6+
//然后加双向
7+
// 一个是:map<int, deque<int>> countrev 键: 累计使用次数, 值:实际的键um.key
8+
// 此处的实际的键:在deque中越靠前则越最近最少使用
9+
// 另一个是:unordered_map<int, int> count 键:实际的键um.key, 值:此键使用的次数
10+
11+
class LFUCache {
12+
private:
13+
unordered_map<int, int> um;
14+
map<int, deque<int>> countrev;
15+
unordered_map<int, int> count;
16+
int gblCap;
17+
public:
18+
LFUCache(int capacity) {
19+
gblCap = capacity;
20+
}
21+
22+
int get(int key) {
23+
if (um.find(key) == um.end()) return -1;
24+
else
25+
{
26+
int oldUseTime = count[key];
27+
deque<int>::iterator iter = find(countrev[oldUseTime].begin(), countrev[oldUseTime].end(), key);
28+
countrev[oldUseTime].erase(iter);
29+
if (countrev[oldUseTime].empty()) countrev.erase(oldUseTime);
30+
countrev[oldUseTime + 1].push_back(key);
31+
count[key]++;
32+
return um[key];
33+
}
34+
}
35+
36+
void put(int key, int value) {
37+
if (um.find(key) != um.end()) //仅更新, 且此key使用次数+1
38+
{
39+
um[key] = value;
40+
int oldUseTime = count[key];
41+
deque<int>::iterator iter = find(countrev[oldUseTime].begin(), countrev[oldUseTime].end(), key);
42+
countrev[oldUseTime].erase(iter);
43+
if (countrev[oldUseTime].empty()) countrev.erase(oldUseTime);
44+
countrev[oldUseTime + 1].push_back(key);
45+
count[key]++;
46+
}
47+
else //考虑可能需要去除元素
48+
{
49+
if (gblCap == 0) return; //没有容量直接禁用
50+
else if (um.size() < gblCap) //不需要去除元素, 直接新增元素
51+
{
52+
um[key] = value;
53+
count[key] = 1;
54+
countrev[1].push_back(key);
55+
}
56+
else //需要去除元素, 新元素使用次数=1
57+
{
58+
map<int, deque<int>>::iterator iter = countrev.begin();
59+
int popV = iter->second.front();
60+
iter->second.pop_front();
61+
count.erase(popV);
62+
um.erase(popV);
63+
um[key] = value;
64+
count[key] = 1;
65+
countrev[1].push_back(key);
66+
}
67+
}
68+
}
69+
};
70+
71+
/**
72+
* Your LFUCache object will be instantiated and called as such:
73+
* LFUCache* obj = new LFUCache(capacity);
74+
* int param_1 = obj->get(key);
75+
* obj->put(key,value);
76+
*/
77+
78+
/*
79+
int main()
80+
{
81+
LFUCache* obj = new LFUCache(2);
82+
obj->put(2, 1);
83+
obj->put(1, 1);
84+
obj->put(2, 3);
85+
obj->put(4, 1);
86+
cout << obj->get(1) << endl;
87+
cout << obj->get(2) << endl;
88+
return 0;
89+
}
90+
*/
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#include "public.h"
2+
3+
//44ms, 51.56%
4+
//半DP问题
5+
//s1: acb acb acb..
6+
//s2: a b a b ...
7+
//
8+
//建立两个数组记录: indexr记录每一个s1结束后能匹配到的s2下标, countr记录每一个s2结束后匹配的完整s2个数
9+
//如果某次s2下标已经被记录过了, 说明将要出现循环: 最终s2总数=prev_count+pattern_count+remain_count
10+
// s2总数见代码
11+
12+
class Solution {
13+
public:
14+
int getMaxRepetitions(string s1, int n1, string s2, int n2)
15+
{
16+
if (n1 == 0) return 0;
17+
vector<int> indexr(n1); // index at start of each s1 block
18+
vector<int> countr(n1); // count of repititions till the present s1 block
19+
int index = 0, count = 0;
20+
for (int i = 0; i < n1; i++)
21+
{
22+
for (int j = 0; j < s1.size(); j++)
23+
{
24+
if (s1[j] == s2[index])
25+
++index;
26+
if (index == s2.size())
27+
{
28+
index = 0;
29+
++count;
30+
}
31+
}
32+
countr[i] = count;
33+
indexr[i] = index;
34+
for (int k = 0; k < i; k++)
35+
{
36+
if (indexr[k] == index)
37+
{
38+
int prev_count = countr[k];
39+
int pattern_count = (countr[i] - countr[k]) * ((n1 - 1 - k) / (i - k));
40+
int remain_count = countr[k + (n1 - 1 - k) % (i - k)] - countr[k];
41+
return (prev_count + pattern_count + remain_count) / n2;
42+
}
43+
}
44+
}
45+
return countr[n1 - 1] / n2;
46+
}
47+
};
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#include "public.h"
2+
3+
//760ms, 49.22%
4+
//字典树
5+
//按长度排序, 然后挨个搜索前缀(同时完整搜索), 如果是连接词就记录, 否则insert字典树
6+
// 搜索过程是回溯法(或称DFS)
7+
8+
class Trie {
9+
private:
10+
bool is_string;
11+
Trie *next[26];
12+
public:
13+
Trie() {
14+
is_string = false;
15+
memset(next, 0, sizeof(next));
16+
}
17+
18+
void insert(string word) {
19+
Trie *root = this;
20+
for (const auto& w : word) {
21+
if (root->next[w - 'a'] == nullptr)root->next[w - 'a'] = new Trie();
22+
root = root->next[w - 'a'];
23+
}
24+
root->is_string = true;
25+
}
26+
27+
//内部含有DFS
28+
bool search(string word, int index, int count) {
29+
Trie *root = this;//每次从根节点开始寻找
30+
for (int i = index; i < word.size(); ++i) {
31+
if (root->next[word[i] - 'a'] == nullptr)return false;//word的某个字符不在前缀树中
32+
root = root->next[word[i] - 'a'];
33+
if (root->is_string) {//到达某个单词尾
34+
if (i == word.size() - 1)return count >= 1;//count的数量至少为2个,若遍历到最后只有一个单词,则count的值还是为0
35+
//已前count位的单词作为分解词继续匹配下一个单词,下个单词满足count才能返回ture,否则继续寻找下一个分界单词
36+
if (search(word, i + 1, count + 1))return true;
37+
}
38+
}
39+
return false;
40+
}
41+
};
42+
43+
class Solution {
44+
private:
45+
static bool msort(string const& s1, string const& s2)
46+
{
47+
if (s1.size() < s2.size()) return true;
48+
else if (s1.size() > s2.size()) return false;
49+
else return s1 < s2;
50+
}
51+
public:
52+
vector<string> findAllConcatenatedWordsInADict(vector<string>& words) {
53+
Trie* root = new Trie();
54+
vector<string> realres;
55+
sort(words.begin(), words.end(), msort);
56+
for (const auto &word : words) {
57+
if (root->search(word, 0, 0))
58+
realres.push_back(word);
59+
else
60+
root->insert(word);
61+
}
62+
63+
return realres;
64+
}
65+
};
66+
67+
/*
68+
int main()
69+
{
70+
Solution* s = new Solution();
71+
vector<string> words = { "rfkqyuqfjkx","","vnrtysfrzrmzl","gfve","qfpd","lqdqrrcrwdnxeuo","q","klaitgdphcspij","hbsfyfv","adzpbfudkklrw","aozmixr","ife","feclhbvfuk","yeqfqojwtw","sileeztxwjl","ngbqqmbxqcqp","khhqr","dwfcayssyoqc","omwufbdfxu","zhift","kczvhsybloet","crfhpxprbsshsjxd","ilebxwbcto","yaxzfbjbkrxi","imqpzwmshlpj","ta","hbuxhwadlpto","eziwkmg","ovqzgdixrpddzp","c","wnqwqecyjyib","jy","mjfqwltvzk","tpvo","phckcyufdqml","lim","lfz","tgygdt","nhcvpf","fbrpzlk","shwywshtdgmb","bkkxcvg","monmwvytby","nuqhmfj","qtg","cwkuzyamnerp","fmwevhwlezo","ye","hbrcewjxvcezi","tiq","tfsrptug","iznorvonzjfea","gama","apwlmbzit","s","hzkosvn","nberblt","kggdgpljfisylt","mf","h","bljvkypcflsaqe","cijcyrgmqirz","iaxakholawoydvch","e","gttxwpuk","jf","xbrtspfttota","sngqvoijxuv","bztvaal","zxbshnrvbykjql","zz","mlvyoshiktodnsjj","qplci","lzqrxl","qxru","ygjtyzleizme","inx","lwhhjwsl","endjvxjyghrveu","phknqtsdtwxcktmw","wsdthzmlmbhjkm","u","pbqurqfxgqlojmws","mowsjvpvhznbsi","hdkbdxqg","ge","pzchrgef","ukmcowoe","nwhpiid","xdnnl","n","yjyssbsoc","cdzcuunkrf","uvouaghhcyvmlk","aajpfpyljt","jpyntsefxi","wjute","y","pbcnmhf","qmmidmvkn","xmywegmtuno","vuzygv","uxtrdsdfzfssmel","odjgdgzfmrazvnd","a","rdkugsbdpawxi","ivd","bbqeonycaegxfj","lrfkraoheucsvpi","eqrswgkaaaohxx","hqjtkqaqh","berbpmglbjipnuj","wogwczlkyrde","aqufowbig","snjniegvdvotu","ocedkt","bbufnxorixibbd","rzuqsyr","qghoy","evcuanuujszitaoa","wsx","glafbwzdd","znrvjqeyqi","npitruijvyllsi","objltu","ryp","nvybsfrxtlfmp","id","zoolzslgd","owijatklvjzscizr","upmsoxftumyxifyu","xucubv","fctkqlroq","zjv","wzi","ppvs","mflvioemycnphfjt","nwedtubynsb","repgcx","gsfomhvpmy","kdohe","tyycsibbeaxn","wjkfvabn","llkmagl","thkglauzgkeuly","paeurdvexqlw","akdt","ihmfrj","janxk","rqdll","cyhbsuxnlftmjc","yybwsjmajbwtuhkk","ovytgaufpjl","iwbnzhybsx","mumbh","jqmdabmyu","br","lwstjkoxbczkj","vhsgzvwiixxaob","fso","qnebmfl","ooetjiz","lq","msxphqdgz","mqhoggvrvjqrp","xbhkkfg","zxjegsyovdrmw","jav","mshoj","ax","biztkfomz","hujdmcyxdqteqja","gqgsomonv","reqqzzpw","lihdnvud","lznfhbaokxvce","fhxbldylqqewdnj","rlbskqgfvn","lfvobeyolyy","v","iwh","fpbuiujlolnjl","gvwxljbo","ypaotdzjxxrsc","mwrvel","umzpnoiei","ogwilaswn","yw","egdgye","hsrznlzrf","mwdgxaigmxpy","yaqgault","dtlg","cyvfiykmkllf","zxqyhvizqmamj","lvvgoifltzywueyp","abinmy","ppzaecvmx","qsmzc","iddymnl","uskihek","evxtehxtbthq","jvtfzddlgch","czohpyewf","ufzazyxtqxcu","brxpfymuvfvs","xrrcfuusicc","aqhlswbzievij","rv","udvmara","upityz","fecd","suxteeitxtg","dfuydrtbfypbn","cypqodxr","wikfuxwjht","jrliuaifpp","vkmxys","wvpfyfpkvgthq","rmajxis","jncxgviyu","av","nmhskodmidaj","lkfrimprrhen","uip","hstyopbvuiqc","p","vwduwmjpblqo","fnxwgqtvwztje","xwnbcuggl","iehimvoymyjasin","spsqiu","flhyfac","mqrbq","pstsxhplrrmbeddv","hnegtuxx","alsyxezjwtlwmxv","jtxytykkcku","bhhlovgcx","xhhivxnutkx","had","aysulvk","m","anhsyxli","jdkgfc","potn","lcibpxkidmwexp","gwoxjicdkv","tltienw","ngiutnuqbzi","o","tzlyb","vumnwehj","os","np","lhv","uzvgyeette","ipfvr","lpprjjalchhhcmh","k","pciulccqssaqgd","tp","dmzdzveslyjad","wtsbhgkd","eouxbldsxzm","vhtonlampljgzyve","xhnlcrldtfthul","xhflc","upgei","rlaks","yfqvnvtnqspyjbxr","phouoyhvls","voibuvbhhjcdflvl","rgorfbjrofokggaf","dqhqats","zchpicyuawpovm","yzwfor","koat","pybf","fhdzsbiyjld","gznfnqydisn","xz","po","tcjup","wygsnxk","kqlima","fgxnuohrnhg","publurhztntgmimc","zuufzphd","iucrmmmjqtcey","wnnbq","rghzyz","ukjqsjbmp","mdtrgv","vyeikgjdnml","kxwldnmi","apzuhsbssaxj","tkbkoljyodlipof","nkq","ktwtj","vgmkgjwle","t","agylw","vomtuy","jbtvitkqn","vtdxwrclpspcn","rdrls","yxfeoh","upj","myctacn","fdnor","ahqghzhoqprgkym","phiuvdv","jp","fdgpouzjwbq","hqoyefmugjvewhxu","qfzwuwe","fnsbijkeepyxry","oja","qthkcij","zpmqfbmnr","ybaibmzonzqlnmd","svo","gjftyfehik","jfrfgznuaytvaegm","aljhrx","odjq","ogwaxrssjxgvnka","zaqswwofedxj","lugpktauixp","dc","odknlbvxrs","jeobu","vqythyvzxbcgrlbg","hwc","erpbaxq","ujxcxck","rrklkb","wlrwyuy","zmg","yyhga","xwdbycdu","htedgvsrhchox","wr","suhesetv","jonqwhkwezjvjgg","sqqyrxtjkcalswq","hvyimhe","pjzdkmoue","zbphmgoxq","lbdlcumdgixjbcq","ztzdjqmadthtdmv","qcagsyqggcf","if","jpjxcjyi","chyicqibxdgkqtg","iwpdklhum","wljmg","micmun","npdbamofynykqv","ijsnfkpfy","lmq","oyjmeqvhcrvgm","mqopusqktdthpvz","fz","r","qbsqtipq","nxtsnason","xbpipyhh","topsuqomfjrd","islif","gbndakaq","bwnkxnwpzeoohlx","hrtbfnq","fguvomeepxoffg","mat","dzfpfnwbfuj","onlvy","cwcchvsasdylb","rxfcztzqopdi","ybrhodjn","oqkijy","ncvrjo","dphbfaal","xgtpdtkz","sebevsopjvciwljf","rcumyacqdapwczen","mabkapuoud","pbozezeygljfftvy","bvazmzbndl","vl","qiaixdtbhqvlzd","ffjfb","svthrfmkoxbho","cvet","ucgqyvopafyttrh","lbgihet","naiqyufxffdw","vruh","uz","ukffmudygjavem","dccamymhp","wofwgjkykm","fbuujzxhln","kmm","lzandlltowjpwsal","fapfvrmezbsjxs","wiw","sc","soqlh","hzaplclkwl","gcdqbcdwbwa","gadgt","pgowefka","juffuguqepwnfh","nbuinl","cpdxf","sox","fq","lfnrhgsxkhx","xrcorfygjxpi","mwtqjwbhgh","loc","fkglorkkvx","nlzdhucvayrz","azefobxutitrf","rlrstkcbtikklmh","ggk","sbphcejuylh","nraoenhd","zngyodiqlchxyycx","rrbhfwohfv","krzolrglgn","cpjesdzy","yoifoyg","hqqevqjugi","ahmv","xgaujnyclcjq","evhyfnlohavrj","byyvhgh","hyw","kedhvwy","ysljsqminajfipds","rglnpxfqwu","cibpynkxg","su","mbntqrlwyampdg","nig","ldhlhqdyjcfhu","jfymrbafmyoc","tyjmnhlfnrtz","dlazixtlxyvm","fbiguhsfuqo","rhymsno","rkbdlchs","ocbbwwd","astaiamnepwkya","mplirup","edkxjq","g","exlwulswtvot","tlnc","vnrrzerz","ygeraoozbtt","yyifkin","eo","ua","qgztvqdolf","rlzddjzcshvd","khxkdxflwxme","kk","zylbhoaac","cw","iizic","gcdxstpz","kjwdqeg","earjrncmmkdel","kbesuhquepj","nrzbllldgdmyrpgl","hllwnqozf","djpchowhwevbqvjj","zsmhylnjpktb","pxnktxkm","fxwiaqqb","qjwufmwresfsfaok","aa","d","iobioqm","svjgzk","khbzp","euexyudhrioi","yqsj","ngrwqpoh","rwuvd","eruffmlg","bxzovyew","faz","pmvfvyguqdi","jlxnoixsy","hyfrdngjf","ly","eibcapetpmeaid","tpnwwiif","pfgsp","kvhhwkzvtvlhhb","pjxurgqbtldims","rncplkeweoirje","akyprzzphew","wyvfpjyglzrmhfqp","ubheeqt","rmbxlcmn","taqakgim","apsbu","khwnykughmwrlk","vtdlzwpbhcsbvjno","tffmjggrmyil","schgwrrzt","mvndmua","nlwpw","glvbtkegzjs","piwllpgnlpcnezqs","xkelind","urtxsezrwz","zechoc","vfaimxrqnyiq","ybugjsblhzfravzn","btgcpqwovwp","zgxgodlhmix","sfzdknoxzassc","wgzvqkxuqrsqxs","dwneyqisozq","fg","vhfsf","uspujvqhydw","eadosqafyxbmzgr","tyff","blolplosqnfcwx","uwkl","puenodlvotb","iizudxqjvfnky","cjcywjkfvukvveq","jrxd","igwb","dftdyelydzyummmt","uvfmaicednym","oai","higfkfavgeemcgo","naefganqo","iqebfibigljbc","ulicojzjfrc","igxprunj","cymbrl","fqmwciqtynca","zjyagi","mzuejrttefhdwqc","zyiurxvf","wrjxffzbjexsh","wrxw","mhrbdxjwi","htknfa","wfrvxqdkhbwwef","vqsghhhutdget","cwupzrts","hbjnb","wpccoa","nx","howbzhaoscgyk","bilt","wqqatye","zceuuwg","jxzon","kkfj","bwsezd","ifdegsyjtswselk","xweimxlnzoh","tqthlftjblnpht","ww","ss","b","jmruuqscwjp","nxbk","wd","cqkrtbxgzg","xhppcjnq","cfq","tkkolzcfi","wblxki","ijeglxsvc","kcqjjwcwuhvzydm","gubqavlqffhrzz","hiwxrgftittd","caybc","ncsyjlzlxyyklc","poxcgnexmaajzuha","dhaccuualacyl","mtkewbprs","oncggqvr","sqqoffmwkplsgbrp","ioajuppvqluhbdet","dzwwzaelmo","afumtqugec","wglucmugwqi","zveswrjevfz","nxlbkak","pzcejvxzeoybb","fd","vewj","ivws","zjhudtpqsfc","zcmukotirrxx","zksmx","umofzhhowyftz","zbotrokaxaryxlk","ueolqk","dxmzhoq","zvu","cjl","esfmqgvxwfy","npbep","vbgjtbv","poeugoqynkbfiv","fewjjscjrei","yqssxzsydgllfzmo","urxkwcypctjkabi","wqtldwhjouas","tovdtkr","onzgeyddkqwuhnim","ffxviyvsktqrfa","qujhd","pvcz","hiyjlkxmeplnrvxg","hdykehkefp","vepcxhozpjxtreyn","liguhuxudbnh","f","ordxzm","klgohcmmbukz","yrmooliaobbnlap","dutnbetocxylcey","ywdsjegd","cr","blbxhjsgcuoxmqft","ngzdc","srfyjjumcbxole","dazwzwtdjoyuqeqj","xazjarqgfm","fxyfqbeoktcc","qrsjchxp","iltaqzawhgu","sgenjcfxr","yfikp","dvwhbyumthkiktb","walsx","jyajrkcvysicisab","brdeumb","tviihjwxdcz","dnrrgmem","ydgxlrjzucxyid","cdvdpvjlagwmg","ngnpxjkxims","gvyhnchlimsxc","w","jtizpezjl","qe","rjzv","vhnqvi","qm","iedzqswrsnfmnn","lt","utqfcqyrrwm","wtelvsqrru","fjwrhjcrtbcytn","qmqxceuohpiffaq","rmoybqjjgdyo","pmxttqftypfexlv","tg","qa","iqbqjlnpbf","kgaynkddbzllecd","tccvslp","curkxfoimnw","fvnyqkzlheruxr","iiygnzfov","coqs","oa","eiu","vzemmxtklis","lxu","nrwsjaxzwmh","tdayz","oxbbemejgosgcynf","ykbcn","hesvnctfvdsp","ku","rjhykpadahbhj","at","sxlngbtxmqr","wqrom","qzyabzrco","rbbyklndcqdj","cnsmgmwmpbgjq","krvnaf","qrwfajnfahyqocdb","fnlaozmff","vmoymbmytjvfcgt","cijyy","jdgwjbztl","swmalgbgpaplqgz","hfl","typttkrpfvx","tkzpzrscwbx","bwfqqvjcukjbsg","nxqmxr","x","eyavnz","il","dhthp","eyelg","npsoqsw","reogbmveofvusdsx","jvdrjkhxkq","qzjbrpljwuzpl","czqeevvbvcwh","vzuszqvhlmapty","yu","yldwwgezlqur","vorxwgdtgjilgydq","pknt","bgihl","ckorgrm","ixylxjmlfv","bpoaboylced","zea","igfagitkrext","ipvqq","dmoerc","oqxbypihdv","dtjrrkxro","rexuhucxpi","bvmuyarjwqpcoywa","qwdmfpwvamisns","bhopoqdsref","tmnm","cre","ktrniqwoofoeenbz","vlrfcsftapyujmw","updqikocrdyex","bcxw","eaum","oklsqebuzeziisw","fzgyhvnwjcns","dybjywyaodsyw","lmu","eocfru","ztlbggsuzctoc","ilfzpszgrgj","imqypqo","fump","sjvmsbrcfwretbie","oxpmplpcg","wmqigymr","qevdyd","gmuyytguexnyc","hwialkbjgzc","lmg","gijjy","lplrsxznfkoklxlv","xrbasbznvxas","twn","bhqultkyfq","saeq","xbuw","zd","kng","uoay","kfykd","armuwp","gtghfxf","gpucqwbihemixqmy","jedyedimaa","pbdrx","toxmxzimgfao","zlteob","adoshnx","ufgmypupei","rqyex","ljhqsaneicvaerqx","ng","sid","zagpiuiia","re","oadojxmvgqgdodw","jszyeruwnupqgmy","jxigaskpj","zpsbhgokwtfcisj","vep","ebwrcpafxzhb","gjykhz","mfomgxjphcscuxj","iwbdvusywqlsc","opvrnx","mkgiwfvqfkotpdz","inpobubzbvstk","vubuucilxyh","bci","dibmye","rlcnvnuuqfvhw","oorbyyiigppuft","swpksfdxicemjbf","goabwrqdoudf","yjutkeqakoarru","wuznnlyd","vfelxvtggkkk","mxlwbkbklbwfsvr","advraqovan","smkln","jxxvzdjlpyurxpj","ssebtpznwoytjefo","dynaiukctgrzjx","irzosjuncvh","hcnhhrajahitn","vwtifcoqepqyzwya","kddxywvgqxo","syxngevs","batvzmziq","mjewiyo","pzsupxoflq","byzhtvvpj","cqnlvlzr","akvmxzbaei","mwo","vg","ekfkuajjogbxhjii","isdbplotyak","jvkmxhtmyznha","lqjnqzrwrmgt","mbbhfli","bpeohsufree","ajrcsfogh","lucidbnlysamvy","tutjdfnvhahxy","urbrmmadea","hghv","acnjx","athltizloasimp","gu","rjfozvgmdakdhao","iephs","uztnpqhdl","rfuyp","crcszmgplszwfn","zihegt","xbspa","cjbmsamjyqqrasz","ghzlgnfoas","ljxl","cnumquohlcgt","jm","mfccj","hfedli","vtpieworwhyiucs","tdtuquartspkotm","pnkeluekvelj","ugrloq","zljmwt","fkyvqguqq","tpjidglpxqfxv","l","tvvimvroz","yy","opwyfovdz","pwlumocnyuoume","vjqpzkcfc","ihicd","dtttiixlhpikbv","goblttgvmndkqgg","gwsibcqahmyyeagk","prtvoju","lcblwidhjpu","kbu","pey","gkzrpc","bqajopjjlfthe","bc","lqs","zkndgojnjnxqsoqi","zyesldujjlp","drswybwlfyzph","xzluwbtmoxokk","bedrqfui","opajzeahv","lehdfnr","mnlpimduzgmwszc","velbhj","miwdn","wruqc","kscfodjxg","wcbm" };
72+
auto res = s->findAllConcatenatedWordsInADict(words);
73+
for (auto& r : res)
74+
{
75+
cout << "\"" << r << "\",";
76+
}
77+
return 0;
78+
}
79+
*/

cpp/leetcode/leetcode.vcxproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,13 +401,16 @@
401401
<ClCompile Include="457. circular-array-loop.cpp" />
402402
<ClCompile Include="458. poor-pigs.cpp" />
403403
<ClCompile Include="459. repeated-substring-pattern.cpp" />
404+
<ClCompile Include="460. lfu-cache.cpp" />
404405
<ClCompile Include="461. hamming-distance.cpp" />
405406
<ClCompile Include="462. minimum-moves-to-equal-array-elements-ii.cpp" />
406407
<ClCompile Include="463. island-perimeter.cpp" />
407408
<ClCompile Include="464. can-i-win.cpp" />
409+
<ClCompile Include="466. count-the-repetitions.cpp" />
408410
<ClCompile Include="467. unique-substrings-in-wraparound-string.cpp" />
409411
<ClCompile Include="468. validate-ip-address.cpp" />
410412
<ClCompile Include="470. implement-rand10-using-rand7.cpp" />
413+
<ClCompile Include="472. concatenated-words.cpp" />
411414
<ClCompile Include="473. Matchsticks to Square.cpp" />
412415
<ClCompile Include="5223. queens-that-can-attack-the-king.cpp" />
413416
<ClCompile Include="5224. dice-roll-simulation.cpp" />

cpp/leetcode/leetcode.vcxproj.filters

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,5 +1163,14 @@
11631163
<ClCompile Include="5225. maximum-equal-frequency.cpp">
11641164
<Filter>源文件</Filter>
11651165
</ClCompile>
1166+
<ClCompile Include="460. lfu-cache.cpp">
1167+
<Filter>源文件\SpecialAlg\Design</Filter>
1168+
</ClCompile>
1169+
<ClCompile Include="466. count-the-repetitions.cpp">
1170+
<Filter>源文件\CommonAlg\DP</Filter>
1171+
</ClCompile>
1172+
<ClCompile Include="472. concatenated-words.cpp">
1173+
<Filter>源文件</Filter>
1174+
</ClCompile>
11661175
</ItemGroup>
11671176
</Project>

cpp/leetcode/test.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
#include <iostream>
2-
#include <vector>
3-
#include <set>
1+
#include "public.h"
42

53
using namespace std;
4+

0 commit comments

Comments
 (0)