We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
#include<iostream>#include<string>#include<algorithm>#include<map>usingnamespacestd;// Map of all Substrings of the input stringstd::map<string,longint>contactsMap;voidaddContacts(stringcontactName){for(size_ti=1;i<=contactName.size();i++){std::stringsubStr=contactName.substr(0,i);if(contactsMap.find(subStr)!=contactsMap.end()){// Existing EntrycontactsMap[subStr]+=1;}else{contactsMap[subStr]=1;// New Entry}}}longintextractContacts(stringcontactName){if(contactsMap.find(contactName)!=contactsMap.end()){//Entry Foundstd::map<string,longint>::iteratorcontactsIter=contactsMap.find(contactName);returncontactsIter->second;}else{return0;// No Entry Found}}intmain(){longintquerySize;std::cin>>querySize;for(size_ti=0;i<querySize;i++){stringopName,inputString;std::cin>>opName>>inputString;if(opName=="add"){addContacts(inputString);}elseif(opName=="find"){std::cout<<extractContacts(inputString)<<'\n';}}return0;}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Contacts
You are viewing a single comment's thread. Return to all comments →
C++ solution using similar technique.