#include < iostream> >
#include < algorithm> >
#include < string> >
#include < vector> >
using namespace std;
string make_plural(size_t ctr, const string &word,
const string &ending)
bool isshorter(const string &str1, const string &str2)
void elimdups(vector &words)
void biggieswithfind_if(vector &words,
vector::size_type sz) );
//獲取乙個迭代器, 指向第乙個滿足size() > sz的元素
auto wc = find_if(words.begin(), words.end(),
[=](const string &s)//可以使用隱式捕獲, 編譯器會自己推斷捕獲內容
//捕獲引用使用'&' , 捕獲值使用'=' );
//計算滿足條件元素的數目
auto count = words.end() - wc;
cout << count << " " << make_plural(count, "word", "s")
<< "
of length
" << sz << "
or longer" << endl;
//列印每個長度大於等於要求的值的單詞, 每個單詞後面接乙個空格
for_each(wc, words.end(),
(const string &s) );
cout << endl; }
void biggieswithpartition(vector &words,
vector::size_type sz) );
//計算滿足條件元素的數目
auto count = words.end() - wc;
cout << count << " " << make_plural(count, "word", "s")
<< "
of length
" << sz << "
or longer" << endl;
//列印每個長度大於等於要求的值的單詞, 每個單詞後面接乙個空格
for_each(wc, words.end(),
(const string &s) );
cout << endl; }
int main(int argc, char **argv) ;
biggieswithfind_if(str_vec, 4);
cout << "-------------------" << endl;
biggieswithpartition(str_vec, 4);
return 0; }
刪除字串中重複字元。
題目 刪除字串中重複字元。如果可以,優先刪除重複字元中排在比他小字元前面的字元。比如,輸入 bbcacdww 輸出 bacdw 分析 如果根本不允許開設陣列,則只能就地進行字串去重,那麼可以依次訪問字串中的字元,並刪除從該字串開始到結尾的所有相同字元。時間複雜度為o n 2 void removed...
非重複字串長度
問題 給定乙個字串,找出最長的不具有重複字元的子串的長度。例如,abcabcbb 不具有重複字元的最長子串是 abc 長度為3。對於 bbbbb 最長的不具有重複字元的子串是 b 長度為1。解 function lengthoflongestsubstring s let max 0let num ...
刪除重複字串
oj.h ifndef oj head define oj head int getresult const char input,char output endif oj.cpp include oj.h description 給定乙個字串,將字串中所有和前面重複多餘的字元刪除,其餘字元保留,輸...